Test Report

0
0
5
2058

ID Title Duration (ms)
1 Agent FindAll Route 1846
2 Agent FindAll Service 55
3 Agent FindAll Model 48
4 Agent FindAll Category Route 48
5 Deployment registers the main plugin. 17

Code Coverage Report

91.19%
6629
6045
584

lib/.hc.js (transformed to lib/.hc.js)

%
Line Lint Hits Source
1 module.exports = {
2 remove: ['models']
3 };
4

lib/.hc.js

100%
4
4
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 module.exports = { 1
6 remove: ['models'] 2
7 }; 1
8

lib/index.js (transformed to lib/index.js)

%
Line Lint Hits Source
1 1 const HauteCouture = require('haute-couture');
2 1 const Package = require('../package.json');
3 const logger = require('../util/logger')({ name: `plugin:lib` });
4
5 exports.plugin = {
6 pkg: Package,
7 register: async (server, options) => {
8
9 // Custom plugin code can go here
10 server.dependency(['schmervice', 'redis', 'nes']);
11 5 await HauteCouture.using()(server, options);
12 5 logger.info('registered');
13 }
14 };
15

lib/index.js

100%
14
14
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 const HauteCouture = require('haute-couture'); 1
6
7 1 const Package = require('../package.json'); 2
8
9 1 const logger = require('../util/logger')({ 3
10 name: `plugin:lib` 3
11 }); 3
12
13 1 exports.plugin = { 5
14 pkg: Package, 5
15 register: async (server, options) => { 7
16 // Custom plugin code can go here 9
17 server.dependency(['schmervice', 'redis', 'nes']); 10
18 5 await HauteCouture.using()(server, options); 11
19 5 logger.info('registered'); 12
20 } 13
21 }; 5
22

lib/errors/global.not-found-error.js (transformed to lib/errors/global.not-found-error.js)

%
Line Lint Hits Source
1 module.exports = ({ model, id }) => {
2
3
const message = `${model}${id ? `id=[${id}]` : ''} not found`;
4 return { isHandled: true, statusCode: 404, message };
5 };
6

lib/errors/global.not-found-error.js

83.33%
12
10
2
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 module.exports = ({ 1
6 model, 1
7 id 1
8 }) => { 1
9
const message = `${model}${id ? `id=[${id}]` : ''} not found`;
3
10 return { 4
11 isHandled: true, 4
12 statusCode: 404, 4
13 message 4
14 }; 4
15 }; 1
16

lib/errors/redis.error-handler.js (transformed to lib/errors/redis.error-handler.js)

%
Line Lint Hits Source
1 import * as Constants from '../../util/constants';
2
3 module.exports = ({ error, message = null }) => {
4
5
console.error({ error, message });
6 if (error.isHandled) {
7 return error;
8 }
9 const response = { isHandled: true, statusCode: 500 };
10 if (!error) {
11 return response;
12 }
13 const errorMessage = error instanceof Error ? error.message : error;
14 message = message ? message : errorMessage;
15 switch (errorMessage) {
16 case Constants.ERROR_NOT_FOUND:
17 return { ...response, message, statusCode: 404 }; //NotFound
18 case Constants.ERROR_VALIDATION:
19 return { ...response, message: JSON.stringify(error.errors), statusCode: 400 };
20 case Constants.ERROR_FIELD_NOT_FOUND:
21 return { ...response, message: Constants.ERROR_FIELD_NOT_FOUND, statusCode: 400 }; //Bad Request
22 default:
23 return response; //BadImplementation
24 }
25 };
26
27

lib/errors/redis.error-handler.js

68.89%
45
31
14
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 Constants = _interopRequireWildcard(require("../../util/constants")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
12
13 /*$lab:coverage:on$*/
14 1 module.exports = ({ 3
15 error, 3
16 message = null 3
17 }) => { 3
18
console.error({
5
19 error, 5
20 message 5
21
});
5
22
23 if (error.isHandled) { 6
24 return error; 7
25 } 8
26
27 const response = { 9
28 isHandled: true, 9
29 statusCode: 500 9
30 }; 9
31
32 if (!error) { 10
33 return response; 11
34 } 12
35
36 const errorMessage = error instanceof Error ? error.message : error; 13
37 message = message ? message : errorMessage; 14
38
39 switch (errorMessage) { 15
40 case Constants.ERROR_NOT_FOUND: 16
41 return { ...response, 17
42 message, 17
43 statusCode: 404 17
44 }; 17
45 //NotFound 17
46
47 case Constants.ERROR_VALIDATION: 18
48 return { ...response, 19
49 message: JSON.stringify(error.errors), 19
50 statusCode: 400 19
51 }; 19
52
53 case Constants.ERROR_FIELD_NOT_FOUND: 20
54 return { ...response, 21
55 message: Constants.ERROR_FIELD_NOT_FOUND, 21
56 statusCode: 400 21
57 }; 21
58 //Bad Request 21
59
60 default: 22
61 return response; 23
62 //BadImplementation 23
63 } 15
64 }; 3
65

lib/errors/redis.not-linked-error.js (transformed to lib/errors/redis.not-linked-error.js)

%
Line Lint Hits Source
1 module.exports = ({ mainType, subType, mainId, subId }) => {
2
3
const message = `${subType} id=[${subId}] is not linked to ${mainType} id=[${mainId}]`;
4 return { isHandled: true, statusCode: 404, message };
5 };
6

lib/errors/redis.not-linked-error.js

85.71%
14
12
2
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 module.exports = ({ 1
6 mainType, 1
7 subType, 1
8 mainId, 1
9 subId 1
10 }) => { 1
11
const message = `${subType} id=[${subId}] is not linked to ${mainType} id=[${mainId}]`;
3
12 return { 4
13 isHandled: true, 4
14 statusCode: 404, 4
15 message 4
16 }; 4
17 }; 1
18

lib/errors/redis.only-one-linked-error.js (transformed to lib/errors/redis.only-one-linked-error.js)

%
Line Lint Hits Source
1 module.exports = ({ mainType, subType, mainId }) => {
2
3
const message = `${mainType} id=[${mainId}] already have a ${subType} linked.`;
4 return { isHandled: true, statusCode: 400, message };
5 };
6

lib/errors/redis.only-one-linked-error.js

84.62%
13
11
2
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 module.exports = ({ 1
6 mainType, 1
7 subType, 1
8 mainId 1
9 }) => { 1
10
const message = `${mainType} id=[${mainId}] already have a ${subType} linked.`;
3
11 return { 4
12 isHandled: true, 4
13 statusCode: 400, 4
14 message 4
15 }; 4
16 }; 1
17

lib/models/action.model.js (transformed to lib/models/action.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2 import SlotModel from './slot.model';
3
4 class ActionModel {
5 static get schema() {
6
7 return {
8 id: Joi.string(), // using UUID on redis
9 agent: Joi.string().trim(),
10 category: Joi.string().trim(),
11 actionName: Joi.string().trim(),
12 slots: Joi.array().items(SlotModel.schema),
13 responses: Joi.array().items(Joi.string().trim()),
14 useWebhook: Joi.boolean(),
15 usePostFormat: Joi.boolean()
16 };
17 };
18 }
19
20 1 module.exports = ActionModel;
21

lib/models/action.model.js

100%
63
63
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _slot = _interopRequireDefault(require("./slot.model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 class ActionModel { 4
21 static get schema() { 5
22 return { 7
23 id: 8
24 /*$lab:coverage:off$*/ 8
25 _joi 8
26 /*$lab:coverage:on$*/ 8
27 . 8
28 /*$lab:coverage:off$*/ 8
29 default 8
30 /*$lab:coverage:on$*/ 8
31 .string(), 7
32 // using UUID on redis 8
33 agent: 9
34 /*$lab:coverage:off$*/ 9
35 _joi 9
36 /*$lab:coverage:on$*/ 9
37 . 9
38 /*$lab:coverage:off$*/ 9
39 default 9
40 /*$lab:coverage:on$*/ 9
41 .string().trim(), 7
42 category: 10
43 /*$lab:coverage:off$*/ 10
44 _joi 10
45 /*$lab:coverage:on$*/ 10
46 . 10
47 /*$lab:coverage:off$*/ 10
48 default 10
49 /*$lab:coverage:on$*/ 10
50 .string().trim(), 7
51 actionName: 11
52 /*$lab:coverage:off$*/ 11
53 _joi 11
54 /*$lab:coverage:on$*/ 11
55 . 11
56 /*$lab:coverage:off$*/ 11
57 default 11
58 /*$lab:coverage:on$*/ 11
59 .string().trim(), 7
60 slots: 12
61 /*$lab:coverage:off$*/ 12
62 _joi 12
63 /*$lab:coverage:on$*/ 12
64 . 12
65 /*$lab:coverage:off$*/ 12
66 default 12
67 /*$lab:coverage:on$*/ 12
68 .array().items( 12
69 /*$lab:coverage:off$*/ 12
70 _slot 12
71 /*$lab:coverage:on$*/ 12
72 . 12
73 /*$lab:coverage:off$*/ 12
74 default 12
75 /*$lab:coverage:on$*/ 12
76 .schema), 7
77 responses: 13
78 /*$lab:coverage:off$*/ 13
79 _joi 13
80 /*$lab:coverage:on$*/ 13
81 . 13
82 /*$lab:coverage:off$*/ 13
83 default 13
84 /*$lab:coverage:on$*/ 13
85 .array().items( 13
86 /*$lab:coverage:off$*/ 13
87 _joi 13
88 /*$lab:coverage:on$*/ 13
89 . 13
90 /*$lab:coverage:off$*/ 13
91 default 13
92 /*$lab:coverage:on$*/ 13
93 .string().trim()), 7
94 useWebhook: 14
95 /*$lab:coverage:off$*/ 14
96 _joi 14
97 /*$lab:coverage:on$*/ 14
98 . 14
99 /*$lab:coverage:off$*/ 14
100 default 14
101 /*$lab:coverage:on$*/ 14
102 .boolean(), 7
103 usePostFormat: 15
104 /*$lab:coverage:off$*/ 15
105 _joi 15
106 /*$lab:coverage:on$*/ 15
107 . 15
108 /*$lab:coverage:off$*/ 15
109 default 15
110 /*$lab:coverage:on$*/ 15
111 .boolean() 15
112 }; 7
113 } 17
114
115 } 4
116
117 1 module.exports = ActionModel; 20
118

lib/models/agent.model.js (transformed to lib/models/agent.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class AgentModel {
4 static get schema() {
5
6 return {
7 id: Joi.string(), // using UUID on redis
8 agentName: Joi.string().trim(),
9 description: Joi.string().trim(),
10 language: Joi.string().trim().valid('en', 'es', 'de', 'fr', 'pt'),
11 timezone: Joi.string().trim(),
12 useWebhook: Joi.boolean(),
13 usePostFormat: Joi.boolean(),
14 multiCategory: Joi.boolean(),
15 categoryClassifierThreshold: Joi.number(),
16 fallbackResponses: Joi.array().items(Joi.string().trim()),
17 status: Joi.string().trim(),
18 lastTraining: Joi.date(),
19 extraTrainingData: Joi.boolean(),
20 enableModelsPerCategory: Joi.boolean(),
21 model: Joi.string()
22 };
23 };
24 }
25
26 1 module.exports = AgentModel;
27

lib/models/agent.model.js

100%
91
91
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class AgentModel { 3
15 static get schema() { 4
16 return { 6
17 id: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string(), 6
26 // using UUID on redis 7
27 agentName: 8
28 /*$lab:coverage:off$*/ 8
29 _joi 8
30 /*$lab:coverage:on$*/ 8
31 . 8
32 /*$lab:coverage:off$*/ 8
33 default 8
34 /*$lab:coverage:on$*/ 8
35 .string().trim(), 6
36 description: 9
37 /*$lab:coverage:off$*/ 9
38 _joi 9
39 /*$lab:coverage:on$*/ 9
40 . 9
41 /*$lab:coverage:off$*/ 9
42 default 9
43 /*$lab:coverage:on$*/ 9
44 .string().trim(), 6
45 language: 10
46 /*$lab:coverage:off$*/ 10
47 _joi 10
48 /*$lab:coverage:on$*/ 10
49 . 10
50 /*$lab:coverage:off$*/ 10
51 default 10
52 /*$lab:coverage:on$*/ 10
53 .string().trim().valid('en', 'es', 'de', 'fr', 'pt'), 6
54 timezone: 11
55 /*$lab:coverage:off$*/ 11
56 _joi 11
57 /*$lab:coverage:on$*/ 11
58 . 11
59 /*$lab:coverage:off$*/ 11
60 default 11
61 /*$lab:coverage:on$*/ 11
62 .string().trim(), 6
63 useWebhook: 12
64 /*$lab:coverage:off$*/ 12
65 _joi 12
66 /*$lab:coverage:on$*/ 12
67 . 12
68 /*$lab:coverage:off$*/ 12
69 default 12
70 /*$lab:coverage:on$*/ 12
71 .boolean(), 6
72 usePostFormat: 13
73 /*$lab:coverage:off$*/ 13
74 _joi 13
75 /*$lab:coverage:on$*/ 13
76 . 13
77 /*$lab:coverage:off$*/ 13
78 default 13
79 /*$lab:coverage:on$*/ 13
80 .boolean(), 6
81 multiCategory: 14
82 /*$lab:coverage:off$*/ 14
83 _joi 14
84 /*$lab:coverage:on$*/ 14
85 . 14
86 /*$lab:coverage:off$*/ 14
87 default 14
88 /*$lab:coverage:on$*/ 14
89 .boolean(), 6
90 categoryClassifierThreshold: 15
91 /*$lab:coverage:off$*/ 15
92 _joi 15
93 /*$lab:coverage:on$*/ 15
94 . 15
95 /*$lab:coverage:off$*/ 15
96 default 15
97 /*$lab:coverage:on$*/ 15
98 .number(), 6
99 fallbackResponses: 16
100 /*$lab:coverage:off$*/ 16
101 _joi 16
102 /*$lab:coverage:on$*/ 16
103 . 16
104 /*$lab:coverage:off$*/ 16
105 default 16
106 /*$lab:coverage:on$*/ 16
107 .array().items( 16
108 /*$lab:coverage:off$*/ 16
109 _joi 16
110 /*$lab:coverage:on$*/ 16
111 . 16
112 /*$lab:coverage:off$*/ 16
113 default 16
114 /*$lab:coverage:on$*/ 16
115 .string().trim()), 6
116 status: 17
117 /*$lab:coverage:off$*/ 17
118 _joi 17
119 /*$lab:coverage:on$*/ 17
120 . 17
121 /*$lab:coverage:off$*/ 17
122 default 17
123 /*$lab:coverage:on$*/ 17
124 .string().trim(), 6
125 lastTraining: 18
126 /*$lab:coverage:off$*/ 18
127 _joi 18
128 /*$lab:coverage:on$*/ 18
129 . 18
130 /*$lab:coverage:off$*/ 18
131 default 18
132 /*$lab:coverage:on$*/ 18
133 .date(), 6
134 extraTrainingData: 19
135 /*$lab:coverage:off$*/ 19
136 _joi 19
137 /*$lab:coverage:on$*/ 19
138 . 19
139 /*$lab:coverage:off$*/ 19
140 default 19
141 /*$lab:coverage:on$*/ 19
142 .boolean(), 6
143 enableModelsPerCategory: 20
144 /*$lab:coverage:off$*/ 20
145 _joi 20
146 /*$lab:coverage:on$*/ 20
147 . 20
148 /*$lab:coverage:off$*/ 20
149 default 20
150 /*$lab:coverage:on$*/ 20
151 .boolean(), 6
152 model: 21
153 /*$lab:coverage:off$*/ 21
154 _joi 21
155 /*$lab:coverage:on$*/ 21
156 . 21
157 /*$lab:coverage:off$*/ 21
158 default 21
159 /*$lab:coverage:on$*/ 21
160 .string() 21
161 }; 6
162 } 23
163
164 } 3
165
166 1 module.exports = AgentModel; 26
167

lib/models/category.model.js (transformed to lib/models/category.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class CategoryModel {
4 static get schema() {
5
6 return {
7 id: Joi.string(), // using UUID on redis
8 agent: Joi.string().trim(),
9 categoryName: Joi.string().trim(),
10 enabled: Joi.boolean(),
11 actionThreshold: Joi.number(),
12 status: Joi.string().trim(),
13 lastTraining: Joi.date(),
14 model: Joi.string().trim(),
15 extraTrainingData: Joi.boolean()
16 };
17 };
18 }
19
20 1 module.exports = CategoryModel;
21

lib/models/category.model.js

100%
57
57
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class CategoryModel { 3
15 static get schema() { 4
16 return { 6
17 id: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string(), 6
26 // using UUID on redis 7
27 agent: 8
28 /*$lab:coverage:off$*/ 8
29 _joi 8
30 /*$lab:coverage:on$*/ 8
31 . 8
32 /*$lab:coverage:off$*/ 8
33 default 8
34 /*$lab:coverage:on$*/ 8
35 .string().trim(), 6
36 categoryName: 9
37 /*$lab:coverage:off$*/ 9
38 _joi 9
39 /*$lab:coverage:on$*/ 9
40 . 9
41 /*$lab:coverage:off$*/ 9
42 default 9
43 /*$lab:coverage:on$*/ 9
44 .string().trim(), 6
45 enabled: 10
46 /*$lab:coverage:off$*/ 10
47 _joi 10
48 /*$lab:coverage:on$*/ 10
49 . 10
50 /*$lab:coverage:off$*/ 10
51 default 10
52 /*$lab:coverage:on$*/ 10
53 .boolean(), 6
54 actionThreshold: 11
55 /*$lab:coverage:off$*/ 11
56 _joi 11
57 /*$lab:coverage:on$*/ 11
58 . 11
59 /*$lab:coverage:off$*/ 11
60 default 11
61 /*$lab:coverage:on$*/ 11
62 .number(), 6
63 status: 12
64 /*$lab:coverage:off$*/ 12
65 _joi 12
66 /*$lab:coverage:on$*/ 12
67 . 12
68 /*$lab:coverage:off$*/ 12
69 default 12
70 /*$lab:coverage:on$*/ 12
71 .string().trim(), 6
72 lastTraining: 13
73 /*$lab:coverage:off$*/ 13
74 _joi 13
75 /*$lab:coverage:on$*/ 13
76 . 13
77 /*$lab:coverage:off$*/ 13
78 default 13
79 /*$lab:coverage:on$*/ 13
80 .date(), 6
81 model: 14
82 /*$lab:coverage:off$*/ 14
83 _joi 14
84 /*$lab:coverage:on$*/ 14
85 . 14
86 /*$lab:coverage:off$*/ 14
87 default 14
88 /*$lab:coverage:on$*/ 14
89 .string().trim(), 6
90 extraTrainingData: 15
91 /*$lab:coverage:off$*/ 15
92 _joi 15
93 /*$lab:coverage:on$*/ 15
94 . 15
95 /*$lab:coverage:off$*/ 15
96 default 15
97 /*$lab:coverage:on$*/ 15
98 .boolean() 15
99 }; 6
100 } 17
101
102 } 3
103
104 1 module.exports = CategoryModel; 20
105

lib/models/keyword-example.model.js (transformed to lib/models/keyword-example.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class ExampleModel {
4 static get schema() {
5
6 return {
7 value: Joi.string().trim(),
8 synonyms: Joi.array().items(Joi.string().trim())
9 };
10 };
11 }
12
13 1 module.exports = ExampleModel;
14

lib/models/keyword-example.model.js

100%
26
26
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class ExampleModel { 3
15 static get schema() { 4
16 return { 6
17 value: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string().trim(), 6
26 synonyms: 8
27 /*$lab:coverage:off$*/ 8
28 _joi 8
29 /*$lab:coverage:on$*/ 8
30 . 8
31 /*$lab:coverage:off$*/ 8
32 default 8
33 /*$lab:coverage:on$*/ 8
34 .array().items( 8
35 /*$lab:coverage:off$*/ 8
36 _joi 8
37 /*$lab:coverage:on$*/ 8
38 . 8
39 /*$lab:coverage:off$*/ 8
40 default 8
41 /*$lab:coverage:on$*/ 8
42 .string().trim()) 8
43 }; 6
44 } 10
45
46 } 3
47
48 1 module.exports = ExampleModel; 13
49

lib/models/keyword.model.js (transformed to lib/models/keyword.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2 import KeywordExampleModel from './keyword-example.model';
3
4 class KeywordModel {
5 static get schema() {
6
7 return {
8 id: Joi.string(), // using UUID on redis
9 agent: Joi.string().trim(),
10 keywordName: Joi.string().trim(),
11 uiColor: Joi.string().trim(),
12 examples: Joi.array().items(KeywordExampleModel.schema),
13 regex: Joi.string().trim(),
14 type: Joi.string().trim()
15 };
16 };
17 }
18
19 1 module.exports = KeywordModel;
20

lib/models/keyword.model.js

100%
54
54
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _keywordExample = _interopRequireDefault(require("./keyword-example.model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 class KeywordModel { 4
21 static get schema() { 5
22 return { 7
23 id: 8
24 /*$lab:coverage:off$*/ 8
25 _joi 8
26 /*$lab:coverage:on$*/ 8
27 . 8
28 /*$lab:coverage:off$*/ 8
29 default 8
30 /*$lab:coverage:on$*/ 8
31 .string(), 7
32 // using UUID on redis 8
33 agent: 9
34 /*$lab:coverage:off$*/ 9
35 _joi 9
36 /*$lab:coverage:on$*/ 9
37 . 9
38 /*$lab:coverage:off$*/ 9
39 default 9
40 /*$lab:coverage:on$*/ 9
41 .string().trim(), 7
42 keywordName: 10
43 /*$lab:coverage:off$*/ 10
44 _joi 10
45 /*$lab:coverage:on$*/ 10
46 . 10
47 /*$lab:coverage:off$*/ 10
48 default 10
49 /*$lab:coverage:on$*/ 10
50 .string().trim(), 7
51 uiColor: 11
52 /*$lab:coverage:off$*/ 11
53 _joi 11
54 /*$lab:coverage:on$*/ 11
55 . 11
56 /*$lab:coverage:off$*/ 11
57 default 11
58 /*$lab:coverage:on$*/ 11
59 .string().trim(), 7
60 examples: 12
61 /*$lab:coverage:off$*/ 12
62 _joi 12
63 /*$lab:coverage:on$*/ 12
64 . 12
65 /*$lab:coverage:off$*/ 12
66 default 12
67 /*$lab:coverage:on$*/ 12
68 .array().items( 12
69 /*$lab:coverage:off$*/ 12
70 _keywordExample 12
71 /*$lab:coverage:on$*/ 12
72 . 12
73 /*$lab:coverage:off$*/ 12
74 default 12
75 /*$lab:coverage:on$*/ 12
76 .schema), 7
77 regex: 13
78 /*$lab:coverage:off$*/ 13
79 _joi 13
80 /*$lab:coverage:on$*/ 13
81 . 13
82 /*$lab:coverage:off$*/ 13
83 default 13
84 /*$lab:coverage:on$*/ 13
85 .string().trim(), 7
86 type: 14
87 /*$lab:coverage:off$*/ 14
88 _joi 14
89 /*$lab:coverage:on$*/ 14
90 . 14
91 /*$lab:coverage:off$*/ 14
92 default 14
93 /*$lab:coverage:on$*/ 14
94 .string().trim() 14
95 }; 7
96 } 16
97
98 } 4
99
100 1 module.exports = KeywordModel; 19
101

lib/models/postFormat.model.js (transformed to lib/models/postFormat.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class PostFormat {
4 static get schema() {
5
6 return {
7 id: Joi.string().trim(),
8 postFormatPayload: Joi.string().trim()
9 };
10 };
11 }
12
13 1 module.exports = PostFormat;
14

lib/models/postFormat.model.js

100%
22
22
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class PostFormat { 3
15 static get schema() { 4
16 return { 6
17 id: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string().trim(), 6
26 postFormatPayload: 8
27 /*$lab:coverage:off$*/ 8
28 _joi 8
29 /*$lab:coverage:on$*/ 8
30 . 8
31 /*$lab:coverage:off$*/ 8
32 default 8
33 /*$lab:coverage:on$*/ 8
34 .string().trim() 8
35 }; 6
36 } 10
37
38 } 3
39
40 1 module.exports = PostFormat; 13
41

lib/models/settings.model.js (transformed to lib/models/settings.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class SettingsModel {
4 static get schema() {
5
6 return {
7 id: Joi.string(), // using UUID on redis
8 name: Joi.string().trim(),
9 value: Joi.any()
10 };
11 };
12 }
13
14 1 module.exports = SettingsModel;
15

lib/models/settings.model.js

100%
27
27
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class SettingsModel { 3
15 static get schema() { 4
16 return { 6
17 id: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string(), 6
26 // using UUID on redis 7
27 name: 8
28 /*$lab:coverage:off$*/ 8
29 _joi 8
30 /*$lab:coverage:on$*/ 8
31 . 8
32 /*$lab:coverage:off$*/ 8
33 default 8
34 /*$lab:coverage:on$*/ 8
35 .string().trim(), 6
36 value: 9
37 /*$lab:coverage:off$*/ 9
38 _joi 9
39 /*$lab:coverage:on$*/ 9
40 . 9
41 /*$lab:coverage:off$*/ 9
42 default 9
43 /*$lab:coverage:on$*/ 9
44 .any() 9
45 }; 6
46 } 11
47
48 } 3
49
50 1 module.exports = SettingsModel; 14
51

lib/models/slot.model.js (transformed to lib/models/slot.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class SlotModel {
4 static get schema() {
5
6 return {
7 slotName: Joi.string().trim(),
8 uiColor: Joi.string().trim(),
9 keywordId: Joi.number(),
10 keyword: Joi.string().trim(),
11 isList: Joi.boolean(),
12 isRequired: Joi.boolean(),
13 textPrompts: Joi.array().items(Joi.string().trim())
14 };
15 };
16 }
17
18 1 module.exports = SlotModel;
19

lib/models/slot.model.js

100%
51
51
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class SlotModel { 3
15 static get schema() { 4
16 return { 6
17 slotName: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string().trim(), 6
26 uiColor: 8
27 /*$lab:coverage:off$*/ 8
28 _joi 8
29 /*$lab:coverage:on$*/ 8
30 . 8
31 /*$lab:coverage:off$*/ 8
32 default 8
33 /*$lab:coverage:on$*/ 8
34 .string().trim(), 6
35 keywordId: 9
36 /*$lab:coverage:off$*/ 9
37 _joi 9
38 /*$lab:coverage:on$*/ 9
39 . 9
40 /*$lab:coverage:off$*/ 9
41 default 9
42 /*$lab:coverage:on$*/ 9
43 .number(), 6
44 keyword: 10
45 /*$lab:coverage:off$*/ 10
46 _joi 10
47 /*$lab:coverage:on$*/ 10
48 . 10
49 /*$lab:coverage:off$*/ 10
50 default 10
51 /*$lab:coverage:on$*/ 10
52 .string().trim(), 6
53 isList: 11
54 /*$lab:coverage:off$*/ 11
55 _joi 11
56 /*$lab:coverage:on$*/ 11
57 . 11
58 /*$lab:coverage:off$*/ 11
59 default 11
60 /*$lab:coverage:on$*/ 11
61 .boolean(), 6
62 isRequired: 12
63 /*$lab:coverage:off$*/ 12
64 _joi 12
65 /*$lab:coverage:on$*/ 12
66 . 12
67 /*$lab:coverage:off$*/ 12
68 default 12
69 /*$lab:coverage:on$*/ 12
70 .boolean(), 6
71 textPrompts: 13
72 /*$lab:coverage:off$*/ 13
73 _joi 13
74 /*$lab:coverage:on$*/ 13
75 . 13
76 /*$lab:coverage:off$*/ 13
77 default 13
78 /*$lab:coverage:on$*/ 13
79 .array().items( 13
80 /*$lab:coverage:off$*/ 13
81 _joi 13
82 /*$lab:coverage:on$*/ 13
83 . 13
84 /*$lab:coverage:off$*/ 13
85 default 13
86 /*$lab:coverage:on$*/ 13
87 .string().trim()) 13
88 }; 6
89 } 15
90
91 } 3
92
93 1 module.exports = SlotModel; 18
94

lib/models/webhook.model.js (transformed to lib/models/webhook.model.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2
3 class WebhookModel {
4 static get schema() {
5
6 return {
7 id: Joi.string(), // using UUID on redis
8 webhookUrl: Joi.string().trim(),
9 webhookVerb: Joi.string().trim(),
10 webhookPayloadType: Joi.string().trim(),
11 webhookPayload: Joi.string().trim()
12 };
13 };
14 }
15
16 1 module.exports = WebhookModel;
17

lib/models/webhook.model.js

100%
37
37
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 class WebhookModel { 3
15 static get schema() { 4
16 return { 6
17 id: 7
18 /*$lab:coverage:off$*/ 7
19 _joi 7
20 /*$lab:coverage:on$*/ 7
21 . 7
22 /*$lab:coverage:off$*/ 7
23 default 7
24 /*$lab:coverage:on$*/ 7
25 .string(), 6
26 // using UUID on redis 7
27 webhookUrl: 8
28 /*$lab:coverage:off$*/ 8
29 _joi 8
30 /*$lab:coverage:on$*/ 8
31 . 8
32 /*$lab:coverage:off$*/ 8
33 default 8
34 /*$lab:coverage:on$*/ 8
35 .string().trim(), 6
36 webhookVerb: 9
37 /*$lab:coverage:off$*/ 9
38 _joi 9
39 /*$lab:coverage:on$*/ 9
40 . 9
41 /*$lab:coverage:off$*/ 9
42 default 9
43 /*$lab:coverage:on$*/ 9
44 .string().trim(), 6
45 webhookPayloadType: 10
46 /*$lab:coverage:off$*/ 10
47 _joi 10
48 /*$lab:coverage:on$*/ 10
49 . 10
50 /*$lab:coverage:off$*/ 10
51 default 10
52 /*$lab:coverage:on$*/ 10
53 .string().trim(), 6
54 webhookPayload: 11
55 /*$lab:coverage:off$*/ 11
56 _joi 11
57 /*$lab:coverage:on$*/ 11
58 . 11
59 /*$lab:coverage:off$*/ 11
60 default 11
61 /*$lab:coverage:on$*/ 11
62 .string().trim() 11
63 }; 6
64 } 13
65
66 } 3
67
68 1 module.exports = WebhookModel; 16
69

lib/routes/action.routes.js (transformed to lib/routes/action.routes.js)

%
Line Lint Hits Source
1 import {
2 MODEL_ACTION,
3 MODEL_POST_FORMAT,
4 MODEL_WEBHOOK,
5 ROUTE_ACTION
6 } from '../../util/constants';
7 import RemoveById from './action/action.remove-by-id.route';
8 import GlobalFindAll from './global/global.find-all.route';
9 import GlobalFindById from './global/global.find-by-id.route';
10 import GlobalFindInModelPath from './global/global.find-in-model-path.route';
11
12 module.exports = [
13 RemoveById,
14 GlobalFindAll({ ROUTE: ROUTE_ACTION }),
15 GlobalFindById({ ROUTE: ROUTE_ACTION }),
16 GlobalFindInModelPath({ models: [MODEL_ACTION, MODEL_POST_FORMAT], isSingleResult: true }),
17 GlobalFindInModelPath({ models: [MODEL_ACTION, MODEL_WEBHOOK], isSingleResult: true })
18
19 ];
20

lib/routes/action.routes.js

100%
74
74
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 7
12 /*$lab:coverage:off$*/ 7
13 _actionRemoveById = _interopRequireDefault(require("./action/action.remove-by-id.route")) 7
14 /*$lab:coverage:on$*/ 7
15 ; 7
16
17 1 var 8
18 /*$lab:coverage:off$*/ 8
19 _globalFindAll = _interopRequireDefault(require("./global/global.find-all.route")) 8
20 /*$lab:coverage:on$*/ 8
21 ; 8
22
23 1 var 9
24 /*$lab:coverage:off$*/ 9
25 _globalFindById = _interopRequireDefault(require("./global/global.find-by-id.route")) 9
26 /*$lab:coverage:on$*/ 9
27 ; 9
28
29 1 var 10
30 /*$lab:coverage:off$*/ 10
31 _globalFindInModelPath = _interopRequireDefault(require("./global/global.find-in-model-path.route")) 10
32 /*$lab:coverage:on$*/ 10
33 ; 10
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 1 module.exports = [ 12
39 /*$lab:coverage:off$*/ 13
40 _actionRemoveById 13
41 /*$lab:coverage:on$*/ 13
42 . 13
43 /*$lab:coverage:off$*/ 13
44 default 13
45 /*$lab:coverage:on$*/ 12
46 , 12
47 /*$lab:coverage:off$*/ 14
48 (0, 14
49 /*$lab:coverage:on$*/ 14
50
51 /*$lab:coverage:off$*/ 14
52 _globalFindAll 14
53 /*$lab:coverage:on$*/ 14
54 . 14
55 /*$lab:coverage:off$*/ 14
56 default) 14
57 /*$lab:coverage:on$*/ 14
58 ({ 14
59 ROUTE: 14
60 /*$lab:coverage:off$*/ 14
61 _constants 14
62 /*$lab:coverage:on$*/ 14
63 . 14
64 /*$lab:coverage:off$*/ 14
65 ROUTE_ACTION 14
66
67 /*$lab:coverage:on$*/ 14
68 }), 12
69 /*$lab:coverage:off$*/ 15
70 (0, 15
71 /*$lab:coverage:on$*/ 15
72
73 /*$lab:coverage:off$*/ 15
74 _globalFindById 15
75 /*$lab:coverage:on$*/ 15
76 . 15
77 /*$lab:coverage:off$*/ 15
78 default) 15
79 /*$lab:coverage:on$*/ 15
80 ({ 15
81 ROUTE: 15
82 /*$lab:coverage:off$*/ 15
83 _constants 15
84 /*$lab:coverage:on$*/ 15
85 . 15
86 /*$lab:coverage:off$*/ 15
87 ROUTE_ACTION 15
88
89 /*$lab:coverage:on$*/ 15
90 }), 12
91 /*$lab:coverage:off$*/ 16
92 (0, 16
93 /*$lab:coverage:on$*/ 16
94
95 /*$lab:coverage:off$*/ 16
96 _globalFindInModelPath 16
97 /*$lab:coverage:on$*/ 16
98 . 16
99 /*$lab:coverage:off$*/ 16
100 default) 16
101 /*$lab:coverage:on$*/ 16
102 ({ 16
103 models: [ 16
104 /*$lab:coverage:off$*/ 16
105 _constants 16
106 /*$lab:coverage:on$*/ 16
107 . 16
108 /*$lab:coverage:off$*/ 16
109 MODEL_ACTION 16
110 /*$lab:coverage:on$*/ 16
111 , 16
112 /*$lab:coverage:off$*/ 16
113 _constants 16
114 /*$lab:coverage:on$*/ 16
115 . 16
116 /*$lab:coverage:off$*/ 16
117 MODEL_POST_FORMAT 16
118 /*$lab:coverage:on$*/ 16
119 ], 16
120 isSingleResult: true 16
121 }), 12
122 /*$lab:coverage:off$*/ 17
123 (0, 17
124 /*$lab:coverage:on$*/ 17
125
126 /*$lab:coverage:off$*/ 17
127 _globalFindInModelPath 17
128 /*$lab:coverage:on$*/ 17
129 . 17
130 /*$lab:coverage:off$*/ 17
131 default) 17
132 /*$lab:coverage:on$*/ 17
133 ({ 17
134 models: [ 17
135 /*$lab:coverage:off$*/ 17
136 _constants 17
137 /*$lab:coverage:on$*/ 17
138 . 17
139 /*$lab:coverage:off$*/ 17
140 MODEL_ACTION 17
141 /*$lab:coverage:on$*/ 17
142 , 17
143 /*$lab:coverage:off$*/ 17
144 _constants 17
145 /*$lab:coverage:on$*/ 17
146 . 17
147 /*$lab:coverage:off$*/ 17
148 MODEL_WEBHOOK 17
149 /*$lab:coverage:on$*/ 17
150 ], 17
151 isSingleResult: true 17
152 })]; 12
153

lib/routes/agent.routes.js (transformed to lib/routes/agent.routes.js)

%
Line Lint Hits Source
1 import {
2 MODEL_ACTION,
3 MODEL_AGENT,
4 MODEL_CATEGORY,
5 MODEL_KEYWORD,
6 MODEL_POST_FORMAT,
7 MODEL_SAYING,
8 MODEL_SETTINGS,
9 MODEL_WEBHOOK,
10 ROUTE_AGENT
11 } from '../../util/constants';
12 import CreateAction from './agent/agent.create-action.route';
13 import CreateCategory from './agent/agent.create-category.route';
14 import CreateKeyword from './agent/agent.create-keyword.route';
15 import CreatePostFormatInAction from './agent/agent.create-post-format-in-action.route';
16 import CreatePostFormat from './agent/agent.create-post-format.route';
17 import CreateWebhookInAction from './agent/agent.create-webhook-in-action.route';
18 import CreateWebhook from './agent/agent.create-webhook.route';
19 import Create from './agent/agent.create.route';
20 import RemoveById from './agent/agent.remove-by-id.route';
21 import RemovePostFormat from './agent/agent.remove-post-format.route';
22 import UpdateById from './agent/agent.update-by-id.route';
23 import UpdatePostFormat from './agent/agent.update-post-format.route';
24 import GlobalFindAll from './global/global.find-all.route';
25 import GlobalFindById from './global/global.find-by-id.route';
26 import GlobalFindInModelPath from './global/global.find-in-model-path.route';
27 import GlobalSearchByField from './global/global.search-by-field.route';
28
29 module.exports = [
30 Create,
31 RemoveById,
32 CreateCategory,
33 CreateAction,
34 CreateKeyword,
35 CreatePostFormat,
36 CreatePostFormatInAction,
37 CreateWebhook,
38 UpdateById,
39 RemovePostFormat,
40 UpdatePostFormat,
41 CreateWebhookInAction,
42 GlobalFindAll({ ROUTE: ROUTE_AGENT }),
43 GlobalFindById({ ROUTE: ROUTE_AGENT }),
44 GlobalSearchByField({ ROUTE: ROUTE_AGENT }),
45 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_ACTION] }), //agent/{agentId}/action
46 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_ACTION], isFindById: true }), //agent/{agentId}/action/{actionId}
47 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_ACTION, MODEL_POST_FORMAT], isSingleResult: true }), //agent/{agentId}/action/{actionId}/postFormat
48 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_ACTION, MODEL_WEBHOOK], isSingleResult: true }), //agent/{agentId}/action/{actionId}/webhook
49 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_CATEGORY] }), //agent/{agentId}/category
50 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_CATEGORY], isFindById: true }), //agent/{agentId}/category/{categoryId}
51 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_CATEGORY, MODEL_SAYING] }), //agent/{agentId}/category/{categoryId}/saying
52 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_CATEGORY, MODEL_SAYING], isFindById: true }), //agent/{agentId}/category/{categoryId}/saying/{sayingId}
53 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_KEYWORD] }), //agent/{agentId}/keyword
54 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_KEYWORD], isFindById: true }), //agent/{agentId}/keyword/{keywordId}
55 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_SAYING] }), //agent/{agentId}/saying
56 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_SETTINGS] }), //agent/{agentId}/settings
57 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_WEBHOOK], isSingleResult: true }), //agent/{agentId}/webhook
58 GlobalFindInModelPath({ models: [MODEL_AGENT, MODEL_POST_FORMAT], isSingleResult: true }) //agent/{agentId}/postFormat
59 ];
60

lib/routes/agent.routes.js

100%
367
367
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 12
12 /*$lab:coverage:off$*/ 12
13 _agentCreateAction = _interopRequireDefault(require("./agent/agent.create-action.route")) 12
14 /*$lab:coverage:on$*/ 12
15 ; 12
16
17 1 var 13
18 /*$lab:coverage:off$*/ 13
19 _agentCreateCategory = _interopRequireDefault(require("./agent/agent.create-category.route")) 13
20 /*$lab:coverage:on$*/ 13
21 ; 13
22
23 1 var 14
24 /*$lab:coverage:off$*/ 14
25 _agentCreateKeyword = _interopRequireDefault(require("./agent/agent.create-keyword.route")) 14
26 /*$lab:coverage:on$*/ 14
27 ; 14
28
29 1 var 15
30 /*$lab:coverage:off$*/ 15
31 _agentCreatePostFormatInAction = _interopRequireDefault(require("./agent/agent.create-post-format-in-action.route")) 15
32 /*$lab:coverage:on$*/ 15
33 ; 15
34
35 1 var 16
36 /*$lab:coverage:off$*/ 16
37 _agentCreatePostFormat = _interopRequireDefault(require("./agent/agent.create-post-format.route")) 16
38 /*$lab:coverage:on$*/ 16
39 ; 16
40
41 1 var 17
42 /*$lab:coverage:off$*/ 17
43 _agentCreateWebhookInAction = _interopRequireDefault(require("./agent/agent.create-webhook-in-action.route")) 17
44 /*$lab:coverage:on$*/ 17
45 ; 17
46
47 1 var 18
48 /*$lab:coverage:off$*/ 18
49 _agentCreateWebhook = _interopRequireDefault(require("./agent/agent.create-webhook.route")) 18
50 /*$lab:coverage:on$*/ 18
51 ; 18
52
53 1 var 19
54 /*$lab:coverage:off$*/ 19
55 _agentCreate = _interopRequireDefault(require("./agent/agent.create.route")) 19
56 /*$lab:coverage:on$*/ 19
57 ; 19
58
59 1 var 20
60 /*$lab:coverage:off$*/ 20
61 _agentRemoveById = _interopRequireDefault(require("./agent/agent.remove-by-id.route")) 20
62 /*$lab:coverage:on$*/ 20
63 ; 20
64
65 1 var 21
66 /*$lab:coverage:off$*/ 21
67 _agentRemovePostFormat = _interopRequireDefault(require("./agent/agent.remove-post-format.route")) 21
68 /*$lab:coverage:on$*/ 21
69 ; 21
70
71 1 var 22
72 /*$lab:coverage:off$*/ 22
73 _agentUpdateById = _interopRequireDefault(require("./agent/agent.update-by-id.route")) 22
74 /*$lab:coverage:on$*/ 22
75 ; 22
76
77 1 var 23
78 /*$lab:coverage:off$*/ 23
79 _agentUpdatePostFormat = _interopRequireDefault(require("./agent/agent.update-post-format.route")) 23
80 /*$lab:coverage:on$*/ 23
81 ; 23
82
83 1 var 24
84 /*$lab:coverage:off$*/ 24
85 _globalFindAll = _interopRequireDefault(require("./global/global.find-all.route")) 24
86 /*$lab:coverage:on$*/ 24
87 ; 24
88
89 1 var 25
90 /*$lab:coverage:off$*/ 25
91 _globalFindById = _interopRequireDefault(require("./global/global.find-by-id.route")) 25
92 /*$lab:coverage:on$*/ 25
93 ; 25
94
95 1 var 26
96 /*$lab:coverage:off$*/ 26
97 _globalFindInModelPath = _interopRequireDefault(require("./global/global.find-in-model-path.route")) 26
98 /*$lab:coverage:on$*/ 26
99 ; 26
100
101 1 var 27
102 /*$lab:coverage:off$*/ 27
103 _globalSearchByField = _interopRequireDefault(require("./global/global.search-by-field.route")) 27
104 /*$lab:coverage:on$*/ 27
105 ; 27
106
107 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
108
109 /*$lab:coverage:on$*/
110 1 module.exports = [ 29
111 /*$lab:coverage:off$*/ 30
112 _agentCreate 30
113 /*$lab:coverage:on$*/ 30
114 . 30
115 /*$lab:coverage:off$*/ 30
116 default 30
117 /*$lab:coverage:on$*/ 29
118 , 29
119 /*$lab:coverage:off$*/ 31
120 _agentRemoveById 31
121 /*$lab:coverage:on$*/ 31
122 . 31
123 /*$lab:coverage:off$*/ 31
124 default 31
125 /*$lab:coverage:on$*/ 29
126 , 29
127 /*$lab:coverage:off$*/ 32
128 _agentCreateCategory 32
129 /*$lab:coverage:on$*/ 32
130 . 32
131 /*$lab:coverage:off$*/ 32
132 default 32
133 /*$lab:coverage:on$*/ 29
134 , 29
135 /*$lab:coverage:off$*/ 33
136 _agentCreateAction 33
137 /*$lab:coverage:on$*/ 33
138 . 33
139 /*$lab:coverage:off$*/ 33
140 default 33
141 /*$lab:coverage:on$*/ 29
142 , 29
143 /*$lab:coverage:off$*/ 34
144 _agentCreateKeyword 34
145 /*$lab:coverage:on$*/ 34
146 . 34
147 /*$lab:coverage:off$*/ 34
148 default 34
149 /*$lab:coverage:on$*/ 29
150 , 29
151 /*$lab:coverage:off$*/ 35
152 _agentCreatePostFormat 35
153 /*$lab:coverage:on$*/ 35
154 . 35
155 /*$lab:coverage:off$*/ 35
156 default 35
157 /*$lab:coverage:on$*/ 29
158 , 29
159 /*$lab:coverage:off$*/ 36
160 _agentCreatePostFormatInAction 36
161 /*$lab:coverage:on$*/ 36
162 . 36
163 /*$lab:coverage:off$*/ 36
164 default 36
165 /*$lab:coverage:on$*/ 29
166 , 29
167 /*$lab:coverage:off$*/ 37
168 _agentCreateWebhook 37
169 /*$lab:coverage:on$*/ 37
170 . 37
171 /*$lab:coverage:off$*/ 37
172 default 37
173 /*$lab:coverage:on$*/ 29
174 , 29
175 /*$lab:coverage:off$*/ 38
176 _agentUpdateById 38
177 /*$lab:coverage:on$*/ 38
178 . 38
179 /*$lab:coverage:off$*/ 38
180 default 38
181 /*$lab:coverage:on$*/ 29
182 , 29
183 /*$lab:coverage:off$*/ 39
184 _agentRemovePostFormat 39
185 /*$lab:coverage:on$*/ 39
186 . 39
187 /*$lab:coverage:off$*/ 39
188 default 39
189 /*$lab:coverage:on$*/ 29
190 , 29
191 /*$lab:coverage:off$*/ 40
192 _agentUpdatePostFormat 40
193 /*$lab:coverage:on$*/ 40
194 . 40
195 /*$lab:coverage:off$*/ 40
196 default 40
197 /*$lab:coverage:on$*/ 29
198 , 29
199 /*$lab:coverage:off$*/ 41
200 _agentCreateWebhookInAction 41
201 /*$lab:coverage:on$*/ 41
202 . 41
203 /*$lab:coverage:off$*/ 41
204 default 41
205 /*$lab:coverage:on$*/ 29
206 , 29
207 /*$lab:coverage:off$*/ 42
208 (0, 42
209 /*$lab:coverage:on$*/ 42
210
211 /*$lab:coverage:off$*/ 42
212 _globalFindAll 42
213 /*$lab:coverage:on$*/ 42
214 . 42
215 /*$lab:coverage:off$*/ 42
216 default) 42
217 /*$lab:coverage:on$*/ 42
218 ({ 42
219 ROUTE: 42
220 /*$lab:coverage:off$*/ 42
221 _constants 42
222 /*$lab:coverage:on$*/ 42
223 . 42
224 /*$lab:coverage:off$*/ 42
225 ROUTE_AGENT 42
226
227 /*$lab:coverage:on$*/ 42
228 }), 29
229 /*$lab:coverage:off$*/ 43
230 (0, 43
231 /*$lab:coverage:on$*/ 43
232
233 /*$lab:coverage:off$*/ 43
234 _globalFindById 43
235 /*$lab:coverage:on$*/ 43
236 . 43
237 /*$lab:coverage:off$*/ 43
238 default) 43
239 /*$lab:coverage:on$*/ 43
240 ({ 43
241 ROUTE: 43
242 /*$lab:coverage:off$*/ 43
243 _constants 43
244 /*$lab:coverage:on$*/ 43
245 . 43
246 /*$lab:coverage:off$*/ 43
247 ROUTE_AGENT 43
248
249 /*$lab:coverage:on$*/ 43
250 }), 29
251 /*$lab:coverage:off$*/ 44
252 (0, 44
253 /*$lab:coverage:on$*/ 44
254
255 /*$lab:coverage:off$*/ 44
256 _globalSearchByField 44
257 /*$lab:coverage:on$*/ 44
258 . 44
259 /*$lab:coverage:off$*/ 44
260 default) 44
261 /*$lab:coverage:on$*/ 44
262 ({ 44
263 ROUTE: 44
264 /*$lab:coverage:off$*/ 44
265 _constants 44
266 /*$lab:coverage:on$*/ 44
267 . 44
268 /*$lab:coverage:off$*/ 44
269 ROUTE_AGENT 44
270
271 /*$lab:coverage:on$*/ 44
272 }), 29
273 /*$lab:coverage:off$*/ 45
274 (0, 45
275 /*$lab:coverage:on$*/ 45
276
277 /*$lab:coverage:off$*/ 45
278 _globalFindInModelPath 45
279 /*$lab:coverage:on$*/ 45
280 . 45
281 /*$lab:coverage:off$*/ 45
282 default) 45
283 /*$lab:coverage:on$*/ 45
284 ({ 45
285 models: [ 45
286 /*$lab:coverage:off$*/ 45
287 _constants 45
288 /*$lab:coverage:on$*/ 45
289 . 45
290 /*$lab:coverage:off$*/ 45
291 MODEL_AGENT 45
292 /*$lab:coverage:on$*/ 45
293 , 45
294 /*$lab:coverage:off$*/ 45
295 _constants 45
296 /*$lab:coverage:on$*/ 45
297 . 45
298 /*$lab:coverage:off$*/ 45
299 MODEL_ACTION 45
300 /*$lab:coverage:on$*/ 45
301 ] 45
302 }), //agent/{agentId}/action 45
303
304 /*$lab:coverage:off$*/ 46
305 (0, 46
306 /*$lab:coverage:on$*/ 46
307
308 /*$lab:coverage:off$*/ 46
309 _globalFindInModelPath 46
310 /*$lab:coverage:on$*/ 46
311 . 46
312 /*$lab:coverage:off$*/ 46
313 default) 46
314 /*$lab:coverage:on$*/ 46
315 ({ 46
316 models: [ 46
317 /*$lab:coverage:off$*/ 46
318 _constants 46
319 /*$lab:coverage:on$*/ 46
320 . 46
321 /*$lab:coverage:off$*/ 46
322 MODEL_AGENT 46
323 /*$lab:coverage:on$*/ 46
324 , 46
325 /*$lab:coverage:off$*/ 46
326 _constants 46
327 /*$lab:coverage:on$*/ 46
328 . 46
329 /*$lab:coverage:off$*/ 46
330 MODEL_ACTION 46
331 /*$lab:coverage:on$*/ 46
332 ], 46
333 isFindById: true 46
334 }), //agent/{agentId}/action/{actionId} 46
335
336 /*$lab:coverage:off$*/ 47
337 (0, 47
338 /*$lab:coverage:on$*/ 47
339
340 /*$lab:coverage:off$*/ 47
341 _globalFindInModelPath 47
342 /*$lab:coverage:on$*/ 47
343 . 47
344 /*$lab:coverage:off$*/ 47
345 default) 47
346 /*$lab:coverage:on$*/ 47
347 ({ 47
348 models: [ 47
349 /*$lab:coverage:off$*/ 47
350 _constants 47
351 /*$lab:coverage:on$*/ 47
352 . 47
353 /*$lab:coverage:off$*/ 47
354 MODEL_AGENT 47
355 /*$lab:coverage:on$*/ 47
356 , 47
357 /*$lab:coverage:off$*/ 47
358 _constants 47
359 /*$lab:coverage:on$*/ 47
360 . 47
361 /*$lab:coverage:off$*/ 47
362 MODEL_ACTION 47
363 /*$lab:coverage:on$*/ 47
364 , 47
365 /*$lab:coverage:off$*/ 47
366 _constants 47
367 /*$lab:coverage:on$*/ 47
368 . 47
369 /*$lab:coverage:off$*/ 47
370 MODEL_POST_FORMAT 47
371 /*$lab:coverage:on$*/ 47
372 ], 47
373 isSingleResult: true 47
374 }), //agent/{agentId}/action/{actionId}/postFormat 47
375
376 /*$lab:coverage:off$*/ 48
377 (0, 48
378 /*$lab:coverage:on$*/ 48
379
380 /*$lab:coverage:off$*/ 48
381 _globalFindInModelPath 48
382 /*$lab:coverage:on$*/ 48
383 . 48
384 /*$lab:coverage:off$*/ 48
385 default) 48
386 /*$lab:coverage:on$*/ 48
387 ({ 48
388 models: [ 48
389 /*$lab:coverage:off$*/ 48
390 _constants 48
391 /*$lab:coverage:on$*/ 48
392 . 48
393 /*$lab:coverage:off$*/ 48
394 MODEL_AGENT 48
395 /*$lab:coverage:on$*/ 48
396 , 48
397 /*$lab:coverage:off$*/ 48
398 _constants 48
399 /*$lab:coverage:on$*/ 48
400 . 48
401 /*$lab:coverage:off$*/ 48
402 MODEL_ACTION 48
403 /*$lab:coverage:on$*/ 48
404 , 48
405 /*$lab:coverage:off$*/ 48
406 _constants 48
407 /*$lab:coverage:on$*/ 48
408 . 48
409 /*$lab:coverage:off$*/ 48
410 MODEL_WEBHOOK 48
411 /*$lab:coverage:on$*/ 48
412 ], 48
413 isSingleResult: true 48
414 }), //agent/{agentId}/action/{actionId}/webhook 48
415
416 /*$lab:coverage:off$*/ 49
417 (0, 49
418 /*$lab:coverage:on$*/ 49
419
420 /*$lab:coverage:off$*/ 49
421 _globalFindInModelPath 49
422 /*$lab:coverage:on$*/ 49
423 . 49
424 /*$lab:coverage:off$*/ 49
425 default) 49
426 /*$lab:coverage:on$*/ 49
427 ({ 49
428 models: [ 49
429 /*$lab:coverage:off$*/ 49
430 _constants 49
431 /*$lab:coverage:on$*/ 49
432 . 49
433 /*$lab:coverage:off$*/ 49
434 MODEL_AGENT 49
435 /*$lab:coverage:on$*/ 49
436 , 49
437 /*$lab:coverage:off$*/ 49
438 _constants 49
439 /*$lab:coverage:on$*/ 49
440 . 49
441 /*$lab:coverage:off$*/ 49
442 MODEL_CATEGORY 49
443 /*$lab:coverage:on$*/ 49
444 ] 49
445 }), //agent/{agentId}/category 49
446
447 /*$lab:coverage:off$*/ 50
448 (0, 50
449 /*$lab:coverage:on$*/ 50
450
451 /*$lab:coverage:off$*/ 50
452 _globalFindInModelPath 50
453 /*$lab:coverage:on$*/ 50
454 . 50
455 /*$lab:coverage:off$*/ 50
456 default) 50
457 /*$lab:coverage:on$*/ 50
458 ({ 50
459 models: [ 50
460 /*$lab:coverage:off$*/ 50
461 _constants 50
462 /*$lab:coverage:on$*/ 50
463 . 50
464 /*$lab:coverage:off$*/ 50
465 MODEL_AGENT 50
466 /*$lab:coverage:on$*/ 50
467 , 50
468 /*$lab:coverage:off$*/ 50
469 _constants 50
470 /*$lab:coverage:on$*/ 50
471 . 50
472 /*$lab:coverage:off$*/ 50
473 MODEL_CATEGORY 50
474 /*$lab:coverage:on$*/ 50
475 ], 50
476 isFindById: true 50
477 }), //agent/{agentId}/category/{categoryId} 50
478
479 /*$lab:coverage:off$*/ 51
480 (0, 51
481 /*$lab:coverage:on$*/ 51
482
483 /*$lab:coverage:off$*/ 51
484 _globalFindInModelPath 51
485 /*$lab:coverage:on$*/ 51
486 . 51
487 /*$lab:coverage:off$*/ 51
488 default) 51
489 /*$lab:coverage:on$*/ 51
490 ({ 51
491 models: [ 51
492 /*$lab:coverage:off$*/ 51
493 _constants 51
494 /*$lab:coverage:on$*/ 51
495 . 51
496 /*$lab:coverage:off$*/ 51
497 MODEL_AGENT 51
498 /*$lab:coverage:on$*/ 51
499 , 51
500 /*$lab:coverage:off$*/ 51
501 _constants 51
502 /*$lab:coverage:on$*/ 51
503 . 51
504 /*$lab:coverage:off$*/ 51
505 MODEL_CATEGORY 51
506 /*$lab:coverage:on$*/ 51
507 , 51
508 /*$lab:coverage:off$*/ 51
509 _constants 51
510 /*$lab:coverage:on$*/ 51
511 . 51
512 /*$lab:coverage:off$*/ 51
513 MODEL_SAYING 51
514 /*$lab:coverage:on$*/ 51
515 ] 51
516 }), //agent/{agentId}/category/{categoryId}/saying 51
517
518 /*$lab:coverage:off$*/ 52
519 (0, 52
520 /*$lab:coverage:on$*/ 52
521
522 /*$lab:coverage:off$*/ 52
523 _globalFindInModelPath 52
524 /*$lab:coverage:on$*/ 52
525 . 52
526 /*$lab:coverage:off$*/ 52
527 default) 52
528 /*$lab:coverage:on$*/ 52
529 ({ 52
530 models: [ 52
531 /*$lab:coverage:off$*/ 52
532 _constants 52
533 /*$lab:coverage:on$*/ 52
534 . 52
535 /*$lab:coverage:off$*/ 52
536 MODEL_AGENT 52
537 /*$lab:coverage:on$*/ 52
538 , 52
539 /*$lab:coverage:off$*/ 52
540 _constants 52
541 /*$lab:coverage:on$*/ 52
542 . 52
543 /*$lab:coverage:off$*/ 52
544 MODEL_CATEGORY 52
545 /*$lab:coverage:on$*/ 52
546 , 52
547 /*$lab:coverage:off$*/ 52
548 _constants 52
549 /*$lab:coverage:on$*/ 52
550 . 52
551 /*$lab:coverage:off$*/ 52
552 MODEL_SAYING 52
553 /*$lab:coverage:on$*/ 52
554 ], 52
555 isFindById: true 52
556 }), //agent/{agentId}/category/{categoryId}/saying/{sayingId} 52
557
558 /*$lab:coverage:off$*/ 53
559 (0, 53
560 /*$lab:coverage:on$*/ 53
561
562 /*$lab:coverage:off$*/ 53
563 _globalFindInModelPath 53
564 /*$lab:coverage:on$*/ 53
565 . 53
566 /*$lab:coverage:off$*/ 53
567 default) 53
568 /*$lab:coverage:on$*/ 53
569 ({ 53
570 models: [ 53
571 /*$lab:coverage:off$*/ 53
572 _constants 53
573 /*$lab:coverage:on$*/ 53
574 . 53
575 /*$lab:coverage:off$*/ 53
576 MODEL_AGENT 53
577 /*$lab:coverage:on$*/ 53
578 , 53
579 /*$lab:coverage:off$*/ 53
580 _constants 53
581 /*$lab:coverage:on$*/ 53
582 . 53
583 /*$lab:coverage:off$*/ 53
584 MODEL_KEYWORD 53
585 /*$lab:coverage:on$*/ 53
586 ] 53
587 }), //agent/{agentId}/keyword 53
588
589 /*$lab:coverage:off$*/ 54
590 (0, 54
591 /*$lab:coverage:on$*/ 54
592
593 /*$lab:coverage:off$*/ 54
594 _globalFindInModelPath 54
595 /*$lab:coverage:on$*/ 54
596 . 54
597 /*$lab:coverage:off$*/ 54
598 default) 54
599 /*$lab:coverage:on$*/ 54
600 ({ 54
601 models: [ 54
602 /*$lab:coverage:off$*/ 54
603 _constants 54
604 /*$lab:coverage:on$*/ 54
605 . 54
606 /*$lab:coverage:off$*/ 54
607 MODEL_AGENT 54
608 /*$lab:coverage:on$*/ 54
609 , 54
610 /*$lab:coverage:off$*/ 54
611 _constants 54
612 /*$lab:coverage:on$*/ 54
613 . 54
614 /*$lab:coverage:off$*/ 54
615 MODEL_KEYWORD 54
616 /*$lab:coverage:on$*/ 54
617 ], 54
618 isFindById: true 54
619 }), //agent/{agentId}/keyword/{keywordId} 54
620
621 /*$lab:coverage:off$*/ 55
622 (0, 55
623 /*$lab:coverage:on$*/ 55
624
625 /*$lab:coverage:off$*/ 55
626 _globalFindInModelPath 55
627 /*$lab:coverage:on$*/ 55
628 . 55
629 /*$lab:coverage:off$*/ 55
630 default) 55
631 /*$lab:coverage:on$*/ 55
632 ({ 55
633 models: [ 55
634 /*$lab:coverage:off$*/ 55
635 _constants 55
636 /*$lab:coverage:on$*/ 55
637 . 55
638 /*$lab:coverage:off$*/ 55
639 MODEL_AGENT 55
640 /*$lab:coverage:on$*/ 55
641 , 55
642 /*$lab:coverage:off$*/ 55
643 _constants 55
644 /*$lab:coverage:on$*/ 55
645 . 55
646 /*$lab:coverage:off$*/ 55
647 MODEL_SAYING 55
648 /*$lab:coverage:on$*/ 55
649 ] 55
650 }), //agent/{agentId}/saying 55
651
652 /*$lab:coverage:off$*/ 56
653 (0, 56
654 /*$lab:coverage:on$*/ 56
655
656 /*$lab:coverage:off$*/ 56
657 _globalFindInModelPath 56
658 /*$lab:coverage:on$*/ 56
659 . 56
660 /*$lab:coverage:off$*/ 56
661 default) 56
662 /*$lab:coverage:on$*/ 56
663 ({ 56
664 models: [ 56
665 /*$lab:coverage:off$*/ 56
666 _constants 56
667 /*$lab:coverage:on$*/ 56
668 . 56
669 /*$lab:coverage:off$*/ 56
670 MODEL_AGENT 56
671 /*$lab:coverage:on$*/ 56
672 , 56
673 /*$lab:coverage:off$*/ 56
674 _constants 56
675 /*$lab:coverage:on$*/ 56
676 . 56
677 /*$lab:coverage:off$*/ 56
678 MODEL_SETTINGS 56
679 /*$lab:coverage:on$*/ 56
680 ] 56
681 }), //agent/{agentId}/settings 56
682
683 /*$lab:coverage:off$*/ 57
684 (0, 57
685 /*$lab:coverage:on$*/ 57
686
687 /*$lab:coverage:off$*/ 57
688 _globalFindInModelPath 57
689 /*$lab:coverage:on$*/ 57
690 . 57
691 /*$lab:coverage:off$*/ 57
692 default) 57
693 /*$lab:coverage:on$*/ 57
694 ({ 57
695 models: [ 57
696 /*$lab:coverage:off$*/ 57
697 _constants 57
698 /*$lab:coverage:on$*/ 57
699 . 57
700 /*$lab:coverage:off$*/ 57
701 MODEL_AGENT 57
702 /*$lab:coverage:on$*/ 57
703 , 57
704 /*$lab:coverage:off$*/ 57
705 _constants 57
706 /*$lab:coverage:on$*/ 57
707 . 57
708 /*$lab:coverage:off$*/ 57
709 MODEL_WEBHOOK 57
710 /*$lab:coverage:on$*/ 57
711 ], 57
712 isSingleResult: true 57
713 }), //agent/{agentId}/webhook 57
714
715 /*$lab:coverage:off$*/ 58
716 (0, 58
717 /*$lab:coverage:on$*/ 58
718
719 /*$lab:coverage:off$*/ 58
720 _globalFindInModelPath 58
721 /*$lab:coverage:on$*/ 58
722 . 58
723 /*$lab:coverage:off$*/ 58
724 default) 58
725 /*$lab:coverage:on$*/ 58
726 ({ 58
727 models: [ 58
728 /*$lab:coverage:off$*/ 58
729 _constants 58
730 /*$lab:coverage:on$*/ 58
731 . 58
732 /*$lab:coverage:off$*/ 58
733 MODEL_AGENT 58
734 /*$lab:coverage:on$*/ 58
735 , 58
736 /*$lab:coverage:off$*/ 58
737 _constants 58
738 /*$lab:coverage:on$*/ 58
739 . 58
740 /*$lab:coverage:off$*/ 58
741 MODEL_POST_FORMAT 58
742 /*$lab:coverage:on$*/ 58
743 ], 58
744 isSingleResult: true 58
745 }) //agent/{agentId}/postFormat 58
746 ]; 29
747

lib/routes/category.routes.js (transformed to lib/routes/category.routes.js)

%
Line Lint Hits Source
1 import {
2 MODEL_CATEGORY,
3 MODEL_KEYWORD,
4 MODEL_SAYING,
5 ROUTE_CATEGORY
6 } from '../../util/constants';
7 import RemoveById from './category/category.remove-by-id.route';
8 import GlobalFindAll from './global/global.find-all.route';
9 import GlobalFindById from './global/global.find-by-id.route';
10 import GlobalFindInModelPath from './global/global.find-in-model-path.route';
11 import GlobalSearchByField from './global/global.search-by-field.route';
12
13 module.exports = [
14 RemoveById,
15 GlobalFindAll({ ROUTE: ROUTE_CATEGORY }),
16 GlobalFindById({ ROUTE: ROUTE_CATEGORY }),
17 GlobalSearchByField({ ROUTE: ROUTE_CATEGORY }),
18 GlobalFindInModelPath({ models: [MODEL_CATEGORY, MODEL_KEYWORD] }),
19 GlobalFindInModelPath({ models: [MODEL_CATEGORY, MODEL_SAYING] })
20
21 ];
22

lib/routes/category.routes.js

100%
85
85
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 7
12 /*$lab:coverage:off$*/ 7
13 _categoryRemoveById = _interopRequireDefault(require("./category/category.remove-by-id.route")) 7
14 /*$lab:coverage:on$*/ 7
15 ; 7
16
17 1 var 8
18 /*$lab:coverage:off$*/ 8
19 _globalFindAll = _interopRequireDefault(require("./global/global.find-all.route")) 8
20 /*$lab:coverage:on$*/ 8
21 ; 8
22
23 1 var 9
24 /*$lab:coverage:off$*/ 9
25 _globalFindById = _interopRequireDefault(require("./global/global.find-by-id.route")) 9
26 /*$lab:coverage:on$*/ 9
27 ; 9
28
29 1 var 10
30 /*$lab:coverage:off$*/ 10
31 _globalFindInModelPath = _interopRequireDefault(require("./global/global.find-in-model-path.route")) 10
32 /*$lab:coverage:on$*/ 10
33 ; 10
34
35 1 var 11
36 /*$lab:coverage:off$*/ 11
37 _globalSearchByField = _interopRequireDefault(require("./global/global.search-by-field.route")) 11
38 /*$lab:coverage:on$*/ 11
39 ; 11
40
41 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
43 /*$lab:coverage:on$*/
44 1 module.exports = [ 13
45 /*$lab:coverage:off$*/ 14
46 _categoryRemoveById 14
47 /*$lab:coverage:on$*/ 14
48 . 14
49 /*$lab:coverage:off$*/ 14
50 default 14
51 /*$lab:coverage:on$*/ 13
52 , 13
53 /*$lab:coverage:off$*/ 15
54 (0, 15
55 /*$lab:coverage:on$*/ 15
56
57 /*$lab:coverage:off$*/ 15
58 _globalFindAll 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default) 15
63 /*$lab:coverage:on$*/ 15
64 ({ 15
65 ROUTE: 15
66 /*$lab:coverage:off$*/ 15
67 _constants 15
68 /*$lab:coverage:on$*/ 15
69 . 15
70 /*$lab:coverage:off$*/ 15
71 ROUTE_CATEGORY 15
72
73 /*$lab:coverage:on$*/ 15
74 }), 13
75 /*$lab:coverage:off$*/ 16
76 (0, 16
77 /*$lab:coverage:on$*/ 16
78
79 /*$lab:coverage:off$*/ 16
80 _globalFindById 16
81 /*$lab:coverage:on$*/ 16
82 . 16
83 /*$lab:coverage:off$*/ 16
84 default) 16
85 /*$lab:coverage:on$*/ 16
86 ({ 16
87 ROUTE: 16
88 /*$lab:coverage:off$*/ 16
89 _constants 16
90 /*$lab:coverage:on$*/ 16
91 . 16
92 /*$lab:coverage:off$*/ 16
93 ROUTE_CATEGORY 16
94
95 /*$lab:coverage:on$*/ 16
96 }), 13
97 /*$lab:coverage:off$*/ 17
98 (0, 17
99 /*$lab:coverage:on$*/ 17
100
101 /*$lab:coverage:off$*/ 17
102 _globalSearchByField 17
103 /*$lab:coverage:on$*/ 17
104 . 17
105 /*$lab:coverage:off$*/ 17
106 default) 17
107 /*$lab:coverage:on$*/ 17
108 ({ 17
109 ROUTE: 17
110 /*$lab:coverage:off$*/ 17
111 _constants 17
112 /*$lab:coverage:on$*/ 17
113 . 17
114 /*$lab:coverage:off$*/ 17
115 ROUTE_CATEGORY 17
116
117 /*$lab:coverage:on$*/ 17
118 }), 13
119 /*$lab:coverage:off$*/ 18
120 (0, 18
121 /*$lab:coverage:on$*/ 18
122
123 /*$lab:coverage:off$*/ 18
124 _globalFindInModelPath 18
125 /*$lab:coverage:on$*/ 18
126 . 18
127 /*$lab:coverage:off$*/ 18
128 default) 18
129 /*$lab:coverage:on$*/ 18
130 ({ 18
131 models: [ 18
132 /*$lab:coverage:off$*/ 18
133 _constants 18
134 /*$lab:coverage:on$*/ 18
135 . 18
136 /*$lab:coverage:off$*/ 18
137 MODEL_CATEGORY 18
138 /*$lab:coverage:on$*/ 18
139 , 18
140 /*$lab:coverage:off$*/ 18
141 _constants 18
142 /*$lab:coverage:on$*/ 18
143 . 18
144 /*$lab:coverage:off$*/ 18
145 MODEL_KEYWORD 18
146 /*$lab:coverage:on$*/ 18
147 ] 18
148 }), 13
149 /*$lab:coverage:off$*/ 19
150 (0, 19
151 /*$lab:coverage:on$*/ 19
152
153 /*$lab:coverage:off$*/ 19
154 _globalFindInModelPath 19
155 /*$lab:coverage:on$*/ 19
156 . 19
157 /*$lab:coverage:off$*/ 19
158 default) 19
159 /*$lab:coverage:on$*/ 19
160 ({ 19
161 models: [ 19
162 /*$lab:coverage:off$*/ 19
163 _constants 19
164 /*$lab:coverage:on$*/ 19
165 . 19
166 /*$lab:coverage:off$*/ 19
167 MODEL_CATEGORY 19
168 /*$lab:coverage:on$*/ 19
169 , 19
170 /*$lab:coverage:off$*/ 19
171 _constants 19
172 /*$lab:coverage:on$*/ 19
173 . 19
174 /*$lab:coverage:off$*/ 19
175 MODEL_SAYING 19
176 /*$lab:coverage:on$*/ 19
177 ] 19
178 })]; 13
179

lib/routes/keyword.routes.js (transformed to lib/routes/keyword.routes.js)

%
Line Lint Hits Source
1 import {
2 MODEL_ACTION,
3 MODEL_KEYWORD,
4 MODEL_SAYING,
5 ROUTE_KEYWORD
6 } from '../../util/constants';
7 import GlobalFindAll from './global/global.find-all.route';
8 import GlobalFindById from './global/global.find-by-id.route';
9 import GlobalFindInModelPath from './global/global.find-in-model-path.route';
10 import RemoveById from './keyword/keyword.remove-by-id.route';
11
12 module.exports = [
13 RemoveById,
14 GlobalFindAll({ ROUTE: ROUTE_KEYWORD }),
15 GlobalFindById({ ROUTE: ROUTE_KEYWORD }),
16 GlobalFindInModelPath({ models: [MODEL_KEYWORD, MODEL_ACTION] }),
17 GlobalFindInModelPath({ models: [MODEL_KEYWORD, MODEL_SAYING] })
18 ];
19

lib/routes/keyword.routes.js

100%
72
72
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 7
12 /*$lab:coverage:off$*/ 7
13 _globalFindAll = _interopRequireDefault(require("./global/global.find-all.route")) 7
14 /*$lab:coverage:on$*/ 7
15 ; 7
16
17 1 var 8
18 /*$lab:coverage:off$*/ 8
19 _globalFindById = _interopRequireDefault(require("./global/global.find-by-id.route")) 8
20 /*$lab:coverage:on$*/ 8
21 ; 8
22
23 1 var 9
24 /*$lab:coverage:off$*/ 9
25 _globalFindInModelPath = _interopRequireDefault(require("./global/global.find-in-model-path.route")) 9
26 /*$lab:coverage:on$*/ 9
27 ; 9
28
29 1 var 10
30 /*$lab:coverage:off$*/ 10
31 _keywordRemoveById = _interopRequireDefault(require("./keyword/keyword.remove-by-id.route")) 10
32 /*$lab:coverage:on$*/ 10
33 ; 10
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 1 module.exports = [ 12
39 /*$lab:coverage:off$*/ 13
40 _keywordRemoveById 13
41 /*$lab:coverage:on$*/ 13
42 . 13
43 /*$lab:coverage:off$*/ 13
44 default 13
45 /*$lab:coverage:on$*/ 12
46 , 12
47 /*$lab:coverage:off$*/ 14
48 (0, 14
49 /*$lab:coverage:on$*/ 14
50
51 /*$lab:coverage:off$*/ 14
52 _globalFindAll 14
53 /*$lab:coverage:on$*/ 14
54 . 14
55 /*$lab:coverage:off$*/ 14
56 default) 14
57 /*$lab:coverage:on$*/ 14
58 ({ 14
59 ROUTE: 14
60 /*$lab:coverage:off$*/ 14
61 _constants 14
62 /*$lab:coverage:on$*/ 14
63 . 14
64 /*$lab:coverage:off$*/ 14
65 ROUTE_KEYWORD 14
66
67 /*$lab:coverage:on$*/ 14
68 }), 12
69 /*$lab:coverage:off$*/ 15
70 (0, 15
71 /*$lab:coverage:on$*/ 15
72
73 /*$lab:coverage:off$*/ 15
74 _globalFindById 15
75 /*$lab:coverage:on$*/ 15
76 . 15
77 /*$lab:coverage:off$*/ 15
78 default) 15
79 /*$lab:coverage:on$*/ 15
80 ({ 15
81 ROUTE: 15
82 /*$lab:coverage:off$*/ 15
83 _constants 15
84 /*$lab:coverage:on$*/ 15
85 . 15
86 /*$lab:coverage:off$*/ 15
87 ROUTE_KEYWORD 15
88
89 /*$lab:coverage:on$*/ 15
90 }), 12
91 /*$lab:coverage:off$*/ 16
92 (0, 16
93 /*$lab:coverage:on$*/ 16
94
95 /*$lab:coverage:off$*/ 16
96 _globalFindInModelPath 16
97 /*$lab:coverage:on$*/ 16
98 . 16
99 /*$lab:coverage:off$*/ 16
100 default) 16
101 /*$lab:coverage:on$*/ 16
102 ({ 16
103 models: [ 16
104 /*$lab:coverage:off$*/ 16
105 _constants 16
106 /*$lab:coverage:on$*/ 16
107 . 16
108 /*$lab:coverage:off$*/ 16
109 MODEL_KEYWORD 16
110 /*$lab:coverage:on$*/ 16
111 , 16
112 /*$lab:coverage:off$*/ 16
113 _constants 16
114 /*$lab:coverage:on$*/ 16
115 . 16
116 /*$lab:coverage:off$*/ 16
117 MODEL_ACTION 16
118 /*$lab:coverage:on$*/ 16
119 ] 16
120 }), 12
121 /*$lab:coverage:off$*/ 17
122 (0, 17
123 /*$lab:coverage:on$*/ 17
124
125 /*$lab:coverage:off$*/ 17
126 _globalFindInModelPath 17
127 /*$lab:coverage:on$*/ 17
128 . 17
129 /*$lab:coverage:off$*/ 17
130 default) 17
131 /*$lab:coverage:on$*/ 17
132 ({ 17
133 models: [ 17
134 /*$lab:coverage:off$*/ 17
135 _constants 17
136 /*$lab:coverage:on$*/ 17
137 . 17
138 /*$lab:coverage:off$*/ 17
139 MODEL_KEYWORD 17
140 /*$lab:coverage:on$*/ 17
141 , 17
142 /*$lab:coverage:off$*/ 17
143 _constants 17
144 /*$lab:coverage:on$*/ 17
145 . 17
146 /*$lab:coverage:off$*/ 17
147 MODEL_SAYING 17
148 /*$lab:coverage:on$*/ 17
149 ] 17
150 })]; 12
151

lib/routes/settings.routes.js (transformed to lib/routes/settings.routes.js)

%
Line Lint Hits Source
1 import Create from './settings/settings.create.route';
2 import FindAll from './settings/settings.find-all.route';
3 import FindByName from './settings/settings.find-by-name.route';
4 import UpdateByName from './settings/settings.update-by-name.route';
5
6 module.exports = [
7 Create,
8 FindAll,
9 FindByName,
10 UpdateByName
11 ];
12

lib/routes/settings.routes.js

100%
31
31
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _settingsCreate = _interopRequireDefault(require("./settings/settings.create.route")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _settingsFindAll = _interopRequireDefault(require("./settings/settings.find-all.route")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _settingsFindByName = _interopRequireDefault(require("./settings/settings.find-by-name.route")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _settingsUpdateByName = _interopRequireDefault(require("./settings/settings.update-by-name.route")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
31 /*$lab:coverage:on$*/
32 1 module.exports = [ 6
33 /*$lab:coverage:off$*/ 7
34 _settingsCreate 7
35 /*$lab:coverage:on$*/ 7
36 . 7
37 /*$lab:coverage:off$*/ 7
38 default 7
39 /*$lab:coverage:on$*/ 6
40 , 6
41 /*$lab:coverage:off$*/ 8
42 _settingsFindAll 8
43 /*$lab:coverage:on$*/ 8
44 . 8
45 /*$lab:coverage:off$*/ 8
46 default 8
47 /*$lab:coverage:on$*/ 6
48 , 6
49 /*$lab:coverage:off$*/ 9
50 _settingsFindByName 9
51 /*$lab:coverage:on$*/ 9
52 . 9
53 /*$lab:coverage:off$*/ 9
54 default 9
55 /*$lab:coverage:on$*/ 6
56 , 6
57 /*$lab:coverage:off$*/ 10
58 _settingsUpdateByName 10
59 /*$lab:coverage:on$*/ 10
60 . 10
61 /*$lab:coverage:off$*/ 10
62 default 10
63 /*$lab:coverage:on$*/ 6
64 ]; 6
65

lib/routes/action/action.remove-by-id.route.js (transformed to lib/routes/action/action.remove-by-id.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_ACTION_ID,
4 ROUTE_ACTION
5 } from '../../../util/constants';
6 import ActionValidator from '../../validators/action.validator';
7
8 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` });
9
10 module.exports = {
11 method: 'delete',
12 path: `/${ROUTE_ACTION}/{${PARAM_ACTION_ID}}`,
13 options: {
14 tags: ['api'],
15 validate: ActionValidator.removeById,
16 handler: async (request, h) => {
17
18
const { actionService } = await request.services();
19 const { [`${PARAM_ACTION_ID}`]: id } = request.params;
20 try {
21 await actionService.removeById({ id });
22 return h.continue;
23 }
24 catch ({ message, statusCode }) {
25 return new Boom(message, { statusCode });
26 }
27 }
28 }
29 };
30

lib/routes/action/action.remove-by-id.route.js

88.33%
60
53
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _action = _interopRequireDefault(require("../../validators/action.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` }); 8
27 1 module.exports = { 10
28 method: 'delete', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_ACTION 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_ACTION_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}`, 10
46 options: { 13
47 tags: ['api'], 13
48 validate: 15
49 /*$lab:coverage:off$*/ 15
50 _action 15
51 /*$lab:coverage:on$*/ 15
52 . 15
53 /*$lab:coverage:off$*/ 15
54 default 15
55 /*$lab:coverage:on$*/ 15
56 .removeById, 13
57 handler: async (request, h) => { 16
58
const {
18
59 actionService 18
60
} = await request.services();
18
61 const { 19
62 [`${ 19
63 /*$lab:coverage:off$*/ 19
64 _constants 19
65 /*$lab:coverage:on$*/ 19
66 . 19
67 /*$lab:coverage:off$*/ 19
68 PARAM_ACTION_ID 19
69 /*$lab:coverage:on$*/ 19
70 }`]: id 19
71 } = request.params; 19
72
73 try { 20
74 await actionService.removeById({ 21
75 id 21
76 }); 21
77 return h.continue; 22
78 } catch ({ 24
79 message, 24
80 statusCode 24
81 }) { 24
82 return new 25
83 /*$lab:coverage:off$*/ 25
84 _boom 25
85 /*$lab:coverage:on$*/ 25
86 . 25
87 /*$lab:coverage:off$*/ 25
88 default 25
89 /*$lab:coverage:on$*/ 25
90 (message, { 25
91 statusCode 25
92 }); 25
93 } 26
94 } 27
95 } 13
96 }; 10
97

lib/routes/agent/agent.create-action.route.js (transformed to lib/routes/agent/agent.create-action.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_ACTION,
5 ROUTE_AGENT
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` });
9
10 module.exports = {
11 method: 'post',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_ACTION}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.createAction,
16 handler: async (request) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 return await agentService.createAction({ id, actionData: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/agent/agent.create-action.route.js

90.63%
64
58
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` }); 8
27 1 module.exports = { 10
28 method: 'post', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}/${ 12
46 /*$lab:coverage:off$*/ 12
47 _constants 12
48 /*$lab:coverage:on$*/ 12
49 . 12
50 /*$lab:coverage:off$*/ 12
51 ROUTE_ACTION 12
52 /*$lab:coverage:on$*/ 12
53 }`, 10
54 options: { 13
55 tags: ['api'], 13
56 validate: 15
57 /*$lab:coverage:off$*/ 15
58 _agent 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default 15
63 /*$lab:coverage:on$*/ 15
64 .createAction, 13
65 handler: async request => { 16
66
const {
18
67 agentService 18
68
} = await request.services();
18
69 const { 19
70 [ 19
71 /*$lab:coverage:off$*/ 19
72 _constants 19
73 /*$lab:coverage:on$*/ 19
74 . 19
75 /*$lab:coverage:off$*/ 19
76 PARAM_AGENT_ID 19
77 /*$lab:coverage:on$*/ 19
78 ]: id 19
79 } = request.params; 19
80
81 try { 20
82 return await agentService.createAction({ 21
83 id, 21
84 actionData: request.payload 21
85 }); 21
86 } catch ({ 23
87 message, 23
88 statusCode 23
89 }) { 23
90 return new 24
91 /*$lab:coverage:off$*/ 24
92 _boom 24
93 /*$lab:coverage:on$*/ 24
94 . 24
95 /*$lab:coverage:off$*/ 24
96 default 24
97 /*$lab:coverage:on$*/ 24
98 (message, { 24
99 statusCode 24
100 }); 24
101 } 25
102 } 26
103 } 13
104 }; 10
105

lib/routes/agent/agent.create-category.route.js (transformed to lib/routes/agent/agent.create-category.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT,
5 ROUTE_CATEGORY
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
9
10 module.exports = {
11 method: 'post',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_CATEGORY}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.createCategory,
16 handler: async (request) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 return await agentService.createCategory({ id, categoryData: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/agent/agent.create-category.route.js

90.63%
64
58
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 8
27 1 module.exports = { 10
28 method: 'post', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}/${ 12
46 /*$lab:coverage:off$*/ 12
47 _constants 12
48 /*$lab:coverage:on$*/ 12
49 . 12
50 /*$lab:coverage:off$*/ 12
51 ROUTE_CATEGORY 12
52 /*$lab:coverage:on$*/ 12
53 }`, 10
54 options: { 13
55 tags: ['api'], 13
56 validate: 15
57 /*$lab:coverage:off$*/ 15
58 _agent 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default 15
63 /*$lab:coverage:on$*/ 15
64 .createCategory, 13
65 handler: async request => { 16
66
const {
18
67 agentService 18
68
} = await request.services();
18
69 const { 19
70 [ 19
71 /*$lab:coverage:off$*/ 19
72 _constants 19
73 /*$lab:coverage:on$*/ 19
74 . 19
75 /*$lab:coverage:off$*/ 19
76 PARAM_AGENT_ID 19
77 /*$lab:coverage:on$*/ 19
78 ]: id 19
79 } = request.params; 19
80
81 try { 20
82 return await agentService.createCategory({ 21
83 id, 21
84 categoryData: request.payload 21
85 }); 21
86 } catch ({ 23
87 message, 23
88 statusCode 23
89 }) { 23
90 return new 24
91 /*$lab:coverage:off$*/ 24
92 _boom 24
93 /*$lab:coverage:on$*/ 24
94 . 24
95 /*$lab:coverage:off$*/ 24
96 default 24
97 /*$lab:coverage:on$*/ 24
98 (message, { 24
99 statusCode 24
100 }); 24
101 } 25
102 } 26
103 } 13
104 }; 10
105

lib/routes/agent/agent.create-keyword.route.js (transformed to lib/routes/agent/agent.create-keyword.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT,
5 ROUTE_KEYWORD
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` });
9
10 module.exports = {
11 method: 'post',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_KEYWORD}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.createKeyword,
16 handler: async (request) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 return await agentService.createKeyword({ id, keywordData: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/agent/agent.create-keyword.route.js

90.63%
64
58
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` }); 8
27 1 module.exports = { 10
28 method: 'post', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}/${ 12
46 /*$lab:coverage:off$*/ 12
47 _constants 12
48 /*$lab:coverage:on$*/ 12
49 . 12
50 /*$lab:coverage:off$*/ 12
51 ROUTE_KEYWORD 12
52 /*$lab:coverage:on$*/ 12
53 }`, 10
54 options: { 13
55 tags: ['api'], 13
56 validate: 15
57 /*$lab:coverage:off$*/ 15
58 _agent 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default 15
63 /*$lab:coverage:on$*/ 15
64 .createKeyword, 13
65 handler: async request => { 16
66
const {
18
67 agentService 18
68
} = await request.services();
18
69 const { 19
70 [ 19
71 /*$lab:coverage:off$*/ 19
72 _constants 19
73 /*$lab:coverage:on$*/ 19
74 . 19
75 /*$lab:coverage:off$*/ 19
76 PARAM_AGENT_ID 19
77 /*$lab:coverage:on$*/ 19
78 ]: id 19
79 } = request.params; 19
80
81 try { 20
82 return await agentService.createKeyword({ 21
83 id, 21
84 keywordData: request.payload 21
85 }); 21
86 } catch ({ 23
87 message, 23
88 statusCode 23
89 }) { 23
90 return new 24
91 /*$lab:coverage:off$*/ 24
92 _boom 24
93 /*$lab:coverage:on$*/ 24
94 . 24
95 /*$lab:coverage:off$*/ 24
96 default 24
97 /*$lab:coverage:on$*/ 24
98 (message, { 24
99 statusCode 24
100 }); 24
101 } 25
102 } 26
103 } 13
104 }; 10
105

lib/routes/agent/agent.create-post-format-in-action.route.js (transformed to lib/routes/agent/agent.create-post-format-in-action.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_ACTION_ID,
4 PARAM_AGENT_ID,
5 ROUTE_ACTION,
6 ROUTE_AGENT,
7 ROUTE_POST_FORMAT
8 } from '../../../util/constants';
9 import AgentValidator from '../../validators/agent.validator';
10 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` });
11
12 module.exports = {
13 method: 'post',
14 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_ACTION}/{${PARAM_ACTION_ID}}/${ROUTE_POST_FORMAT}`,
15 options: {
16 tags: ['api'],
17 validate: AgentValidator.addPostFormatInAction,
18 handler: async (request) => {
19
20
const { agentService } = await request.services();
21 const {
22 [PARAM_AGENT_ID]: agentId,
23 [PARAM_ACTION_ID]: actionId
24 } = request.params;
25 try {
26 return await agentService.createPostFormatInAction({ id: agentId, actionId, postFormatData: request.payload });
27 }
28 catch ({ message, statusCode }) {
29 return new Boom(message, { statusCode });
30 }
31 }
32 }
33 };
34

lib/routes/agent/agent.create-post-format-in-action.route.js

92.31%
78
72
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 9
18 /*$lab:coverage:off$*/ 9
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 9
20 /*$lab:coverage:on$*/ 9
21 ; 9
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` }); 10
27 1 module.exports = { 12
28 method: 'post', 12
29 path: `/${ 14
30 /*$lab:coverage:off$*/ 14
31 _constants 14
32 /*$lab:coverage:on$*/ 14
33 . 14
34 /*$lab:coverage:off$*/ 14
35 ROUTE_AGENT 14
36 /*$lab:coverage:on$*/ 14
37 }/{${ 14
38 /*$lab:coverage:off$*/ 14
39 _constants 14
40 /*$lab:coverage:on$*/ 14
41 . 14
42 /*$lab:coverage:off$*/ 14
43 PARAM_AGENT_ID 14
44 /*$lab:coverage:on$*/ 14
45 }}/${ 14
46 /*$lab:coverage:off$*/ 14
47 _constants 14
48 /*$lab:coverage:on$*/ 14
49 . 14
50 /*$lab:coverage:off$*/ 14
51 ROUTE_ACTION 14
52 /*$lab:coverage:on$*/ 14
53 }/{${ 14
54 /*$lab:coverage:off$*/ 14
55 _constants 14
56 /*$lab:coverage:on$*/ 14
57 . 14
58 /*$lab:coverage:off$*/ 14
59 PARAM_ACTION_ID 14
60 /*$lab:coverage:on$*/ 14
61 }}/${ 14
62 /*$lab:coverage:off$*/ 14
63 _constants 14
64 /*$lab:coverage:on$*/ 14
65 . 14
66 /*$lab:coverage:off$*/ 14
67 ROUTE_POST_FORMAT 14
68 /*$lab:coverage:on$*/ 14
69 }`, 12
70 options: { 15
71 tags: ['api'], 15
72 validate: 17
73 /*$lab:coverage:off$*/ 17
74 _agent 17
75 /*$lab:coverage:on$*/ 17
76 . 17
77 /*$lab:coverage:off$*/ 17
78 default 17
79 /*$lab:coverage:on$*/ 17
80 .addPostFormatInAction, 15
81 handler: async request => { 18
82
const {
20
83 agentService 20
84
} = await request.services();
20
85 const { 21
86 [ 22
87 /*$lab:coverage:off$*/ 22
88 _constants 22
89 /*$lab:coverage:on$*/ 22
90 . 22
91 /*$lab:coverage:off$*/ 22
92 PARAM_AGENT_ID 22
93 /*$lab:coverage:on$*/ 22
94 ]: agentId, 21
95 [ 23
96 /*$lab:coverage:off$*/ 23
97 _constants 23
98 /*$lab:coverage:on$*/ 23
99 . 23
100 /*$lab:coverage:off$*/ 23
101 PARAM_ACTION_ID 23
102 /*$lab:coverage:on$*/ 23
103 ]: actionId 23
104 } = request.params; 21
105
106 try { 25
107 return await agentService.createPostFormatInAction({ 26
108 id: agentId, 26
109 actionId, 26
110 postFormatData: request.payload 26
111 }); 26
112 } catch ({ 28
113 message, 28
114 statusCode 28
115 }) { 28
116 return new 29
117 /*$lab:coverage:off$*/ 29
118 _boom 29
119 /*$lab:coverage:on$*/ 29
120 . 29
121 /*$lab:coverage:off$*/ 29
122 default 29
123 /*$lab:coverage:on$*/ 29
124 (message, { 29
125 statusCode 29
126 }); 29
127 } 30
128 } 31
129 } 15
130 }; 12
131

lib/routes/agent/agent.create-post-format.route.js (transformed to lib/routes/agent/agent.create-post-format.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT,
5 ROUTE_POST_FORMAT
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` });
9
10 module.exports = {
11 method: 'post',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_POST_FORMAT}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.addPostFormat,
16 handler: async (request) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 return await agentService.createPostFormat({ id, postFormatData: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/agent/agent.create-post-format.route.js

90.63%
64
58
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` }); 8
27 1 module.exports = { 10
28 method: 'post', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}/${ 12
46 /*$lab:coverage:off$*/ 12
47 _constants 12
48 /*$lab:coverage:on$*/ 12
49 . 12
50 /*$lab:coverage:off$*/ 12
51 ROUTE_POST_FORMAT 12
52 /*$lab:coverage:on$*/ 12
53 }`, 10
54 options: { 13
55 tags: ['api'], 13
56 validate: 15
57 /*$lab:coverage:off$*/ 15
58 _agent 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default 15
63 /*$lab:coverage:on$*/ 15
64 .addPostFormat, 13
65 handler: async request => { 16
66
const {
18
67 agentService 18
68
} = await request.services();
18
69 const { 19
70 [ 19
71 /*$lab:coverage:off$*/ 19
72 _constants 19
73 /*$lab:coverage:on$*/ 19
74 . 19
75 /*$lab:coverage:off$*/ 19
76 PARAM_AGENT_ID 19
77 /*$lab:coverage:on$*/ 19
78 ]: id 19
79 } = request.params; 19
80
81 try { 20
82 return await agentService.createPostFormat({ 21
83 id, 21
84 postFormatData: request.payload 21
85 }); 21
86 } catch ({ 23
87 message, 23
88 statusCode 23
89 }) { 23
90 return new 24
91 /*$lab:coverage:off$*/ 24
92 _boom 24
93 /*$lab:coverage:on$*/ 24
94 . 24
95 /*$lab:coverage:off$*/ 24
96 default 24
97 /*$lab:coverage:on$*/ 24
98 (message, { 24
99 statusCode 24
100 }); 24
101 } 25
102 } 26
103 } 13
104 }; 10
105

lib/routes/agent/agent.create-webhook-in-action.route.js (transformed to lib/routes/agent/agent.create-webhook-in-action.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_ACTION_ID,
4 PARAM_AGENT_ID,
5 ROUTE_ACTION,
6 ROUTE_AGENT,
7 ROUTE_WEBHOOK
8 } from '../../../util/constants';
9 import AgentValidator from '../../validators/agent.validator';
10 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` });
11
12 module.exports = {
13 method: 'post',
14 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_ACTION}/{${PARAM_ACTION_ID}}/${ROUTE_WEBHOOK}`,
15 options: {
16 tags: ['api'],
17 validate: AgentValidator.addWebhookInAction,
18 handler: async (request) => {
19
20
const { agentService } = await request.services();
21 const {
22 [PARAM_AGENT_ID]: agentId,
23 [PARAM_ACTION_ID]: actionId
24 } = request.params;
25 try {
26 return await agentService.createWebhookInAction({ id: agentId, actionId, webhookData: request.payload });
27 }
28 catch ({ message, statusCode }) {
29 return new Boom(message, { statusCode });
30 }
31 }
32 }
33 };
34

lib/routes/agent/agent.create-webhook-in-action.route.js

92.31%
78
72
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 9
18 /*$lab:coverage:off$*/ 9
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 9
20 /*$lab:coverage:on$*/ 9
21 ; 9
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create-action` }); 10
27 1 module.exports = { 12
28 method: 'post', 12
29 path: `/${ 14
30 /*$lab:coverage:off$*/ 14
31 _constants 14
32 /*$lab:coverage:on$*/ 14
33 . 14
34 /*$lab:coverage:off$*/ 14
35 ROUTE_AGENT 14
36 /*$lab:coverage:on$*/ 14
37 }/{${ 14
38 /*$lab:coverage:off$*/ 14
39 _constants 14
40 /*$lab:coverage:on$*/ 14
41 . 14
42 /*$lab:coverage:off$*/ 14
43 PARAM_AGENT_ID 14
44 /*$lab:coverage:on$*/ 14
45 }}/${ 14
46 /*$lab:coverage:off$*/ 14
47 _constants 14
48 /*$lab:coverage:on$*/ 14
49 . 14
50 /*$lab:coverage:off$*/ 14
51 ROUTE_ACTION 14
52 /*$lab:coverage:on$*/ 14
53 }/{${ 14
54 /*$lab:coverage:off$*/ 14
55 _constants 14
56 /*$lab:coverage:on$*/ 14
57 . 14
58 /*$lab:coverage:off$*/ 14
59 PARAM_ACTION_ID 14
60 /*$lab:coverage:on$*/ 14
61 }}/${ 14
62 /*$lab:coverage:off$*/ 14
63 _constants 14
64 /*$lab:coverage:on$*/ 14
65 . 14
66 /*$lab:coverage:off$*/ 14
67 ROUTE_WEBHOOK 14
68 /*$lab:coverage:on$*/ 14
69 }`, 12
70 options: { 15
71 tags: ['api'], 15
72 validate: 17
73 /*$lab:coverage:off$*/ 17
74 _agent 17
75 /*$lab:coverage:on$*/ 17
76 . 17
77 /*$lab:coverage:off$*/ 17
78 default 17
79 /*$lab:coverage:on$*/ 17
80 .addWebhookInAction, 15
81 handler: async request => { 18
82
const {
20
83 agentService 20
84
} = await request.services();
20
85 const { 21
86 [ 22
87 /*$lab:coverage:off$*/ 22
88 _constants 22
89 /*$lab:coverage:on$*/ 22
90 . 22
91 /*$lab:coverage:off$*/ 22
92 PARAM_AGENT_ID 22
93 /*$lab:coverage:on$*/ 22
94 ]: agentId, 21
95 [ 23
96 /*$lab:coverage:off$*/ 23
97 _constants 23
98 /*$lab:coverage:on$*/ 23
99 . 23
100 /*$lab:coverage:off$*/ 23
101 PARAM_ACTION_ID 23
102 /*$lab:coverage:on$*/ 23
103 ]: actionId 23
104 } = request.params; 21
105
106 try { 25
107 return await agentService.createWebhookInAction({ 26
108 id: agentId, 26
109 actionId, 26
110 webhookData: request.payload 26
111 }); 26
112 } catch ({ 28
113 message, 28
114 statusCode 28
115 }) { 28
116 return new 29
117 /*$lab:coverage:off$*/ 29
118 _boom 29
119 /*$lab:coverage:on$*/ 29
120 . 29
121 /*$lab:coverage:off$*/ 29
122 default 29
123 /*$lab:coverage:on$*/ 29
124 (message, { 29
125 statusCode 29
126 }); 29
127 } 30
128 } 31
129 } 15
130 }; 12
131

lib/routes/agent/agent.create-webhook.route.js (transformed to lib/routes/agent/agent.create-webhook.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT,
5 ROUTE_WEBHOOK
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8 //const logger = require('../../../util/logger')({ name: `route:agent:create-webhook` });
9
10 module.exports = {
11 method: 'post',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_WEBHOOK}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.addWebhook,
16 handler: async (request) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 return await agentService.createWebhook({ id, webhookData: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/agent/agent.create-webhook.route.js

90.63%
64
58
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create-webhook` }); 8
27 1 module.exports = { 10
28 method: 'post', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}/${ 12
46 /*$lab:coverage:off$*/ 12
47 _constants 12
48 /*$lab:coverage:on$*/ 12
49 . 12
50 /*$lab:coverage:off$*/ 12
51 ROUTE_WEBHOOK 12
52 /*$lab:coverage:on$*/ 12
53 }`, 10
54 options: { 13
55 tags: ['api'], 13
56 validate: 15
57 /*$lab:coverage:off$*/ 15
58 _agent 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default 15
63 /*$lab:coverage:on$*/ 15
64 .addWebhook, 13
65 handler: async request => { 16
66
const {
18
67 agentService 18
68
} = await request.services();
18
69 const { 19
70 [ 19
71 /*$lab:coverage:off$*/ 19
72 _constants 19
73 /*$lab:coverage:on$*/ 19
74 . 19
75 /*$lab:coverage:off$*/ 19
76 PARAM_AGENT_ID 19
77 /*$lab:coverage:on$*/ 19
78 ]: id 19
79 } = request.params; 19
80
81 try { 20
82 return await agentService.createWebhook({ 21
83 id, 21
84 webhookData: request.payload 21
85 }); 21
86 } catch ({ 23
87 message, 23
88 statusCode 23
89 }) { 23
90 return new 24
91 /*$lab:coverage:off$*/ 24
92 _boom 24
93 /*$lab:coverage:on$*/ 24
94 . 24
95 /*$lab:coverage:off$*/ 24
96 default 24
97 /*$lab:coverage:on$*/ 24
98 (message, { 24
99 statusCode 24
100 }); 24
101 } 25
102 } 26
103 } 13
104 }; 10
105

lib/routes/agent/agent.create.route.js (transformed to lib/routes/agent/agent.create.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import { ROUTE_AGENT } from '../../../util/constants';
3 import AgentValidator from '../../validators/agent.validator';
4
5 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
6
7 module.exports = {
8 method: 'post',
9 path: `/${ROUTE_AGENT}`,
10 options: {
11 tags: ['api'],
12 validate: AgentValidator.create,
13 handler: async (request, h) => {
14
15
const { agentService } = await request.services();
16 try {
17 return await agentService.create({ data: request.payload });
18 }
19 catch ({ message, statusCode }) {
20 return new Boom(message, { statusCode });
21 }
22 }
23 }
24 };
25

lib/routes/agent/agent.create.route.js

89.58%
48
43
5
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 5
27 1 module.exports = { 7
28 method: 'post', 7
29 path: `/${ 9
30 /*$lab:coverage:off$*/ 9
31 _constants 9
32 /*$lab:coverage:on$*/ 9
33 . 9
34 /*$lab:coverage:off$*/ 9
35 ROUTE_AGENT 9
36 /*$lab:coverage:on$*/ 9
37 }`, 7
38 options: { 10
39 tags: ['api'], 10
40 validate: 12
41 /*$lab:coverage:off$*/ 12
42 _agent 12
43 /*$lab:coverage:on$*/ 12
44 . 12
45 /*$lab:coverage:off$*/ 12
46 default 12
47 /*$lab:coverage:on$*/ 12
48 .create, 10
49 handler: async (request, h) => { 13
50
const {
15
51 agentService 15
52
} = await request.services();
15
53
54 try { 16
55 return await agentService.create({ 17
56 data: request.payload 17
57 }); 17
58 } catch ({ 19
59 message, 19
60 statusCode 19
61 }) { 19
62 return new 20
63 /*$lab:coverage:off$*/ 20
64 _boom 20
65 /*$lab:coverage:on$*/ 20
66 . 20
67 /*$lab:coverage:off$*/ 20
68 default 20
69 /*$lab:coverage:on$*/ 20
70 (message, { 20
71 statusCode 20
72 }); 20
73 } 21
74 } 22
75 } 10
76 }; 7
77

lib/routes/agent/agent.remove-by-id.route.js (transformed to lib/routes/agent/agent.remove-by-id.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT
5 } from '../../../util/constants';
6 import AgentValidator from '../../validators/agent.validator';
7
8 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` });
9
10 module.exports = {
11 method: 'delete',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.removeById,
16 handler: async (request, h) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 await agentService.removeById({ id });
22 return h.continue;
23 }
24 catch ({ message, statusCode }) {
25 return new Boom(message, { statusCode });
26 }
27 }
28 }
29 };
30

lib/routes/agent/agent.remove-by-id.route.js

88.33%
60
53
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` }); 8
27 1 module.exports = { 10
28 method: 'delete', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}`, 10
46 options: { 13
47 tags: ['api'], 13
48 validate: 15
49 /*$lab:coverage:off$*/ 15
50 _agent 15
51 /*$lab:coverage:on$*/ 15
52 . 15
53 /*$lab:coverage:off$*/ 15
54 default 15
55 /*$lab:coverage:on$*/ 15
56 .removeById, 13
57 handler: async (request, h) => { 16
58
const {
18
59 agentService 18
60
} = await request.services();
18
61 const { 19
62 [ 19
63 /*$lab:coverage:off$*/ 19
64 _constants 19
65 /*$lab:coverage:on$*/ 19
66 . 19
67 /*$lab:coverage:off$*/ 19
68 PARAM_AGENT_ID 19
69 /*$lab:coverage:on$*/ 19
70 ]: id 19
71 } = request.params; 19
72
73 try { 20
74 await agentService.removeById({ 21
75 id 21
76 }); 21
77 return h.continue; 22
78 } catch ({ 24
79 message, 24
80 statusCode 24
81 }) { 24
82 return new 25
83 /*$lab:coverage:off$*/ 25
84 _boom 25
85 /*$lab:coverage:on$*/ 25
86 . 25
87 /*$lab:coverage:off$*/ 25
88 default 25
89 /*$lab:coverage:on$*/ 25
90 (message, { 25
91 statusCode 25
92 }); 25
93 } 26
94 } 27
95 } 13
96 }; 10
97

lib/routes/agent/agent.remove-post-format.route.js (transformed to lib/routes/agent/agent.remove-post-format.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT,
5 ROUTE_POST_FORMAT
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
9
10 module.exports = {
11 method: 'delete',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_POST_FORMAT}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.findAllCategory,
16 handler: async (request, h) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 await agentService.removePostFormat({ id });
22 return h.continue;
23 }
24 catch ({ message, statusCode }) {
25 return new Boom(message, { statusCode });
26 }
27 }
28 }
29 };
30

lib/routes/agent/agent.remove-post-format.route.js

89.06%
64
57
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 8
27 1 module.exports = { 10
28 method: 'delete', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}/${ 12
46 /*$lab:coverage:off$*/ 12
47 _constants 12
48 /*$lab:coverage:on$*/ 12
49 . 12
50 /*$lab:coverage:off$*/ 12
51 ROUTE_POST_FORMAT 12
52 /*$lab:coverage:on$*/ 12
53 }`, 10
54 options: { 13
55 tags: ['api'], 13
56 validate: 15
57 /*$lab:coverage:off$*/ 15
58 _agent 15
59 /*$lab:coverage:on$*/ 15
60 . 15
61 /*$lab:coverage:off$*/ 15
62 default 15
63 /*$lab:coverage:on$*/ 15
64 .findAllCategory, 13
65 handler: async (request, h) => { 16
66
const {
18
67 agentService 18
68
} = await request.services();
18
69 const { 19
70 [ 19
71 /*$lab:coverage:off$*/ 19
72 _constants 19
73 /*$lab:coverage:on$*/ 19
74 . 19
75 /*$lab:coverage:off$*/ 19
76 PARAM_AGENT_ID 19
77 /*$lab:coverage:on$*/ 19
78 ]: id 19
79 } = request.params; 19
80
81 try { 20
82 await agentService.removePostFormat({ 21
83 id 21
84 }); 21
85 return h.continue; 22
86 } catch ({ 24
87 message, 24
88 statusCode 24
89 }) { 24
90 return new 25
91 /*$lab:coverage:off$*/ 25
92 _boom 25
93 /*$lab:coverage:on$*/ 25
94 . 25
95 /*$lab:coverage:off$*/ 25
96 default 25
97 /*$lab:coverage:on$*/ 25
98 (message, { 25
99 statusCode 25
100 }); 25
101 } 26
102 } 27
103 } 13
104 }; 10
105

lib/routes/agent/agent.update-by-id.route.js (transformed to lib/routes/agent/agent.update-by-id.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT
5 } from '../../../util/constants';
6 import AgentValidator from '../../validators/agent.validator';
7
8 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
9
10 module.exports = {
11 method: 'put',
12 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}`,
13 options: {
14 tags: ['api'],
15 validate: AgentValidator.updateById,
16 handler: async (request) => {
17
18
const { agentService } = await request.services();
19 const { [PARAM_AGENT_ID]: id } = request.params;
20 try {
21 return await agentService.updateById({ id, data: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/agent/agent.update-by-id.route.js

90%
60
54
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 8
27 1 module.exports = { 10
28 method: 'put', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_AGENT 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_AGENT_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}`, 10
46 options: { 13
47 tags: ['api'], 13
48 validate: 15
49 /*$lab:coverage:off$*/ 15
50 _agent 15
51 /*$lab:coverage:on$*/ 15
52 . 15
53 /*$lab:coverage:off$*/ 15
54 default 15
55 /*$lab:coverage:on$*/ 15
56 .updateById, 13
57 handler: async request => { 16
58
const {
18
59 agentService 18
60
} = await request.services();
18
61 const { 19
62 [ 19
63 /*$lab:coverage:off$*/ 19
64 _constants 19
65 /*$lab:coverage:on$*/ 19
66 . 19
67 /*$lab:coverage:off$*/ 19
68 PARAM_AGENT_ID 19
69 /*$lab:coverage:on$*/ 19
70 ]: id 19
71 } = request.params; 19
72
73 try { 20
74 return await agentService.updateById({ 21
75 id, 21
76 data: request.payload 21
77 }); 21
78 } catch ({ 23
79 message, 23
80 statusCode 23
81 }) { 23
82 return new 24
83 /*$lab:coverage:off$*/ 24
84 _boom 24
85 /*$lab:coverage:on$*/ 24
86 . 24
87 /*$lab:coverage:off$*/ 24
88 default 24
89 /*$lab:coverage:on$*/ 24
90 (message, { 24
91 statusCode 24
92 }); 24
93 } 25
94 } 26
95 } 13
96 }; 10
97

lib/routes/agent/agent.update-post-format.route.js (transformed to lib/routes/agent/agent.update-post-format.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_AGENT_ID,
4 ROUTE_AGENT,
5 ROUTE_POST_FORMAT
6 } from '../../../util/constants';
7 import AgentValidator from '../../validators/agent.validator';
8
9 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
10
11 module.exports = {
12 method: 'put',
13 path: `/${ROUTE_AGENT}/{${PARAM_AGENT_ID}}/${ROUTE_POST_FORMAT}`,
14 options: {
15 tags: ['api'],
16 validate: AgentValidator.addPostFormat,
17 handler: async (request) => {
18
19
const { agentService } = await request.services();
20 const { [PARAM_AGENT_ID]: id } = request.params;
21 try {
22 return await agentService.updatePostFormat({ id, postFormatData: request.payload });
23 }
24 catch ({ message, statusCode }) {
25 return new Boom(message, { statusCode });
26 }
27 }
28 }
29 };
30

lib/routes/agent/agent.update-post-format.route.js

90.63%
64
58
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _agent = _interopRequireDefault(require("../../validators/agent.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 9
27 1 module.exports = { 11
28 method: 'put', 11
29 path: `/${ 13
30 /*$lab:coverage:off$*/ 13
31 _constants 13
32 /*$lab:coverage:on$*/ 13
33 . 13
34 /*$lab:coverage:off$*/ 13
35 ROUTE_AGENT 13
36 /*$lab:coverage:on$*/ 13
37 }/{${ 13
38 /*$lab:coverage:off$*/ 13
39 _constants 13
40 /*$lab:coverage:on$*/ 13
41 . 13
42 /*$lab:coverage:off$*/ 13
43 PARAM_AGENT_ID 13
44 /*$lab:coverage:on$*/ 13
45 }}/${ 13
46 /*$lab:coverage:off$*/ 13
47 _constants 13
48 /*$lab:coverage:on$*/ 13
49 . 13
50 /*$lab:coverage:off$*/ 13
51 ROUTE_POST_FORMAT 13
52 /*$lab:coverage:on$*/ 13
53 }`, 11
54 options: { 14
55 tags: ['api'], 14
56 validate: 16
57 /*$lab:coverage:off$*/ 16
58 _agent 16
59 /*$lab:coverage:on$*/ 16
60 . 16
61 /*$lab:coverage:off$*/ 16
62 default 16
63 /*$lab:coverage:on$*/ 16
64 .addPostFormat, 14
65 handler: async request => { 17
66
const {
19
67 agentService 19
68
} = await request.services();
19
69 const { 20
70 [ 20
71 /*$lab:coverage:off$*/ 20
72 _constants 20
73 /*$lab:coverage:on$*/ 20
74 . 20
75 /*$lab:coverage:off$*/ 20
76 PARAM_AGENT_ID 20
77 /*$lab:coverage:on$*/ 20
78 ]: id 20
79 } = request.params; 20
80
81 try { 21
82 return await agentService.updatePostFormat({ 22
83 id, 22
84 postFormatData: request.payload 22
85 }); 22
86 } catch ({ 24
87 message, 24
88 statusCode 24
89 }) { 24
90 return new 25
91 /*$lab:coverage:off$*/ 25
92 _boom 25
93 /*$lab:coverage:on$*/ 25
94 . 25
95 /*$lab:coverage:off$*/ 25
96 default 25
97 /*$lab:coverage:on$*/ 25
98 (message, { 25
99 statusCode 25
100 }); 25
101 } 26
102 } 27
103 } 14
104 }; 11
105

lib/routes/category/category.remove-by-id.route.js (transformed to lib/routes/category/category.remove-by-id.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_CATEGORY_ID,
4 ROUTE_CATEGORY
5 } from '../../../util/constants';
6 import CategoryValidator from '../../validators/category.validator';
7
8 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` });
9
10 module.exports = {
11 method: 'delete',
12 path: `/${ROUTE_CATEGORY}/{${PARAM_CATEGORY_ID}}`,
13 options: {
14 tags: ['api'],
15 validate: CategoryValidator.removeById,
16 handler: async (request, h) => {
17
18
const { categoryService } = await request.services();
19 const { [PARAM_CATEGORY_ID]: id } = request.params;
20 try {
21 await categoryService.removeById({ id });
22 return h.continue;
23 }
24 catch ({ message, statusCode }) {
25 return new Boom(message, { statusCode });
26 }
27 }
28 }
29 };
30

lib/routes/category/category.remove-by-id.route.js

88.33%
60
53
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _category = _interopRequireDefault(require("../../validators/category.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` }); 8
27 1 module.exports = { 10
28 method: 'delete', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_CATEGORY 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_CATEGORY_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}`, 10
46 options: { 13
47 tags: ['api'], 13
48 validate: 15
49 /*$lab:coverage:off$*/ 15
50 _category 15
51 /*$lab:coverage:on$*/ 15
52 . 15
53 /*$lab:coverage:off$*/ 15
54 default 15
55 /*$lab:coverage:on$*/ 15
56 .removeById, 13
57 handler: async (request, h) => { 16
58
const {
18
59 categoryService 18
60
} = await request.services();
18
61 const { 19
62 [ 19
63 /*$lab:coverage:off$*/ 19
64 _constants 19
65 /*$lab:coverage:on$*/ 19
66 . 19
67 /*$lab:coverage:off$*/ 19
68 PARAM_CATEGORY_ID 19
69 /*$lab:coverage:on$*/ 19
70 ]: id 19
71 } = request.params; 19
72
73 try { 20
74 await categoryService.removeById({ 21
75 id 21
76 }); 21
77 return h.continue; 22
78 } catch ({ 24
79 message, 24
80 statusCode 24
81 }) { 24
82 return new 25
83 /*$lab:coverage:off$*/ 25
84 _boom 25
85 /*$lab:coverage:on$*/ 25
86 . 25
87 /*$lab:coverage:off$*/ 25
88 default 25
89 /*$lab:coverage:on$*/ 25
90 (message, { 25
91 statusCode 25
92 }); 25
93 } 26
94 } 27
95 } 13
96 }; 10
97

lib/routes/global/global.find-all.route.js (transformed to lib/routes/global/global.find-all.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_DIRECTION,
4 PARAM_FIELD,
5 PARAM_LIMIT,
6 PARAM_SKIP,
7 ROUTE_TO_MODEL
8 } from '../../../util/constants';
9 import GlobalValidator from '../../validators/global.validator';
10
11 module.exports = ({ ROUTE }) => {
12
13 return {
14 method: 'get',
15 path: `/${ROUTE}`,
16 options: {
17 tags: ['api'],
18 validate: GlobalValidator.findAll,
19 handler: async (request) => {
20
21 const { globalService } = await request.services();
22 const {
23 [PARAM_SKIP]: skip,
24 [PARAM_LIMIT]: limit,
25 [PARAM_DIRECTION]: direction,
26 [PARAM_FIELD]: field
27 } = request.query;
28 1 try {
29 return await globalService.findAll({ skip, limit, direction, field, model: ROUTE_TO_MODEL[ROUTE] });
30 }
31 catch ({ message, statusCode }) {
32
33 return new Boom(message, { statusCode });
34 }
35 }
36 }
37 };
38 };
39

lib/routes/global/global.find-all.route.js

98.72%
78
77
1
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 9
18 /*$lab:coverage:off$*/ 9
19 _global = _interopRequireDefault(require("../../validators/global.validator")) 9
20 /*$lab:coverage:on$*/ 9
21 ; 9
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = ({ 11
27 ROUTE 11
28 }) => { 11
29 return { 13
30 method: 'get', 13
31 path: `/${ROUTE}`, 13
32 options: { 16
33 tags: ['api'], 16
34 validate: 18
35 /*$lab:coverage:off$*/ 18
36 _global 18
37 /*$lab:coverage:on$*/ 18
38 . 18
39 /*$lab:coverage:off$*/ 18
40 default 18
41 /*$lab:coverage:on$*/ 18
42 .findAll, 16
43 handler: async request => { 19
44 const { 21
45 globalService 21
46 } = await request.services(); 21
47 1 const { 22
48 [ 23
49 /*$lab:coverage:off$*/ 23
50 _constants 23
51 /*$lab:coverage:on$*/ 23
52 . 23
53 /*$lab:coverage:off$*/ 23
54 PARAM_SKIP 23
55 /*$lab:coverage:on$*/ 23
56 ]: skip, 22
57 [ 24
58 /*$lab:coverage:off$*/ 24
59 _constants 24
60 /*$lab:coverage:on$*/ 24
61 . 24
62 /*$lab:coverage:off$*/ 24
63 PARAM_LIMIT 24
64 /*$lab:coverage:on$*/ 24
65 ]: limit, 22
66 [ 25
67 /*$lab:coverage:off$*/ 25
68 _constants 25
69 /*$lab:coverage:on$*/ 25
70 . 25
71 /*$lab:coverage:off$*/ 25
72 PARAM_DIRECTION 25
73 /*$lab:coverage:on$*/ 25
74 ]: direction, 22
75 [ 26
76 /*$lab:coverage:off$*/ 26
77 _constants 26
78 /*$lab:coverage:on$*/ 26
79 . 26
80 /*$lab:coverage:off$*/ 26
81 PARAM_FIELD 26
82 /*$lab:coverage:on$*/ 26
83 ]: field 26
84 } = request.query; 22
85
86 1 try { 28
87 1 return await globalService.findAll({ 29
88 skip, 29
89 limit, 29
90 direction, 29
91 field, 29
92 model: 29
93 /*$lab:coverage:off$*/ 29
94 _constants 29
95 /*$lab:coverage:on$*/ 29
96 . 29
97 /*$lab:coverage:off$*/ 29
98 ROUTE_TO_MODEL 29
99 /*$lab:coverage:on$*/ 29
100 [ROUTE] 29
101 }); 29
102 } catch ({ 31
103 message, 31
104 statusCode 31
105 }) { 31
106 return new 33
107 /*$lab:coverage:off$*/ 33
108 _boom 33
109 /*$lab:coverage:on$*/ 33
110 . 33
111 /*$lab:coverage:off$*/ 33
112 default 33
113 /*$lab:coverage:on$*/ 33
114 (message, { 33
115 statusCode 33
116 }); 33
117 } 34
118 } 35
119 } 16
120 }; 13
121 }; 11
122

lib/routes/global/global.find-by-id.route.js (transformed to lib/routes/global/global.find-by-id.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import Joi from 'joi';
3 import {
4 PARAMS_POSTFIX_ID,
5 ROUTE_TO_MODEL
6 } from '../../../util/constants';
7
8 //const logger = require('../../../util/logger')({ name: `route:global:search-by-field` });
9
10 module.exports = ({ ROUTE }) => {
11
12 return {
13 method: 'get',
14 path: `/${ROUTE}/{${ROUTE + PARAMS_POSTFIX_ID}}`,
15 options: {
16 tags: ['api'],
17 validate: {
18 params: (() => {
19
20 return {
21 [`${ROUTE + PARAMS_POSTFIX_ID}`]: Joi.string().required().description(`${ROUTE_TO_MODEL[ROUTE]} id`)
22 };
23 })()
24 },
25 handler: async (request) => {
26
27
const { globalService } = await request.services();
28 const { [`${ROUTE + PARAMS_POSTFIX_ID}`]: id } = request.params;
29 try {
30 return await globalService.findById({ id, model: ROUTE_TO_MODEL[ROUTE] });
31 }
32 catch ({ message, statusCode }) {
33
34 return new Boom(message, { statusCode });
35 }
36 }
37 }
38 };
39 };
40

lib/routes/global/global.find-by-id.route.js

92.31%
78
72
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _joi = _interopRequireDefault(require("joi")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _constants = require("../../../util/constants") 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:global:search-by-field` }); 8
27 1 module.exports = ({ 10
28 ROUTE 10
29 }) => { 10
30 return { 12
31 method: 'get', 12
32 path: `/${ROUTE}/{${ROUTE + 14
33 /*$lab:coverage:off$*/ 14
34 _constants 14
35 /*$lab:coverage:on$*/ 14
36 . 14
37 /*$lab:coverage:off$*/ 14
38 PARAMS_POSTFIX_ID 14
39 /*$lab:coverage:on$*/ 14
40 }}`, 12
41 options: { 15
42 tags: ['api'], 15
43 validate: { 17
44 params: (() => { 18
45 return { 20
46 [`${ROUTE + 21
47 /*$lab:coverage:off$*/ 21
48 _constants 21
49 /*$lab:coverage:on$*/ 21
50 . 21
51 /*$lab:coverage:off$*/ 21
52 PARAMS_POSTFIX_ID 21
53 /*$lab:coverage:on$*/ 21
54 }`]: 21
55 /*$lab:coverage:off$*/ 21
56 _joi 21
57 /*$lab:coverage:on$*/ 21
58 . 21
59 /*$lab:coverage:off$*/ 21
60 default 21
61 /*$lab:coverage:on$*/ 21
62 .string().required().description(`${ 21
63 /*$lab:coverage:off$*/ 21
64 _constants 21
65 /*$lab:coverage:on$*/ 21
66 . 21
67 /*$lab:coverage:off$*/ 21
68 ROUTE_TO_MODEL 21
69 /*$lab:coverage:on$*/ 21
70 [ROUTE]} id`) 21
71 }; 20
72 })() 18
73 }, 15
74 handler: async request => { 25
75
const {
27
76 globalService 27
77
} = await request.services();
27
78 const { 28
79 [`${ROUTE + 28
80 /*$lab:coverage:off$*/ 28
81 _constants 28
82 /*$lab:coverage:on$*/ 28
83 . 28
84 /*$lab:coverage:off$*/ 28
85 PARAMS_POSTFIX_ID 28
86 /*$lab:coverage:on$*/ 28
87 }`]: id 28
88 } = request.params; 28
89
90 try { 29
91 return await globalService.findById({ 30
92 id, 30
93 model: 30
94 /*$lab:coverage:off$*/ 30
95 _constants 30
96 /*$lab:coverage:on$*/ 30
97 . 30
98 /*$lab:coverage:off$*/ 30
99 ROUTE_TO_MODEL 30
100 /*$lab:coverage:on$*/ 30
101 [ROUTE] 30
102 }); 30
103 } catch ({ 32
104 message, 32
105 statusCode 32
106 }) { 32
107 return new 34
108 /*$lab:coverage:off$*/ 34
109 _boom 34
110 /*$lab:coverage:on$*/ 34
111 . 34
112 /*$lab:coverage:off$*/ 34
113 default 34
114 /*$lab:coverage:on$*/ 34
115 (message, { 34
116 statusCode 34
117 }); 34
118 } 35
119 } 36
120 } 15
121 }; 12
122 }; 10
123

lib/routes/global/global.find-in-model-path.route.js (transformed to lib/routes/global/global.find-in-model-path.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import Joi from 'joi';
3 import _ from 'lodash';
4 import {
5 MODEL_TO_ROUTE,
6 PARAMS_POSTFIX_ID
7 } from '../../../util/constants';
8 import GlobalValidator from '../../validators/global.validator';
9
10 //const logger = require('../../../util/logger')({ name: `route:global:find-all-related-models-in-path` });
11
12 const validateConfiguration = ({ models, isFindById, isSingleResult }) => {
13
14
if (!
_.isArray(models) || models.length < 2) {
15 throw new Error('A related model path needs an array of at least 2 models');
16 }
17
18 20 if (isFindById && isSingleResult) {
19 throw new Error('Route can\'t be configured findById and isSingleResult at the same time: \n' +
20 'isFindById: false && isSingleResult: false -> (Find all linked models) -> /{model}\n' +
21 'isFindById: false && isSingleResult: true -> (Find single linked model) -> /{model}\n' +
22 'isFindById: true && isSingleResult: false -> (Find single linked model by id) -> /{model}/{modelId}\n' +
23 'isFindById: true && isSingleResult: true -> (Error) -> ☠️\n' +
24 '');
25 }
26 };
27 const generateModelRouteMap = (model) => {
28
29 const route = MODEL_TO_ROUTE[model];
30
if (
!route) {
31 throw new Error(`Model '${model}' doesn't have an assigned route.`);
32 }
33 const idName = `${route}${PARAMS_POSTFIX_ID}`;
34 44 const path = `${route}/{${idName}}`;
35 return {
36 model,
37 route,
38 idName,
39 path
40 };
41 };
42
43 module.exports = ({ models, isFindById = false, isSingleResult = false }) => {
44
45 validateConfiguration({ models, isFindById, isSingleResult });
46 const modelRouteMap = _(models).map(generateModelRouteMap).value();
47 const path = _(modelRouteMap).initial().map('path').value();
48 20 if (isFindById) {
49 path.push(_(modelRouteMap).last().path); // /{model}/{modelId}
50 }
51 else {
52 path.push(_(modelRouteMap).last().route); // /{model}
53 }
54
55 return {
56 method: 'get',
57 path: `/${path.join('/')}`,
58 options: {
59 tags: ['api'],
60 validate: {
61
62 query: (() => {
63
64 if (!isFindById && !isSingleResult) {
65 return GlobalValidator.findAll.query;
66 }
67 10 return null;
68 })(),
69 params: (() => {
70
71 const validation = {};
72 const filteredMap = isFindById ? _(modelRouteMap) : _(modelRouteMap).initial();
73 filteredMap.each(
74 20 (modeRoute) => {
75
76 validation[modeRoute.idName] = Joi.string().required().description(`${modeRoute.model} id`);
77 }
78 );
79
80 20 return validation;
81 })()
82 },
83
84 handler: async (request) => {
85
86 const { globalService } = await request.services();
87 const getParametersFromRequest = (modeRoute) => {
88
89 const { model, idName } = modeRoute;
90 2 const id = request.params[idName];
91 return { model, id };
92 };
93 const { skip, limit, direction, field } = request.query;
94 const modelPath = _(modelRouteMap).map(getParametersFromRequest).value();
95
96 1 try {
97 return await globalService.findInModelPath({ modelPath, isSingleResult, skip, limit, direction, field });
98 }
99 catch ({ message, statusCode }) {
100
101 return new Boom(message, { statusCode });
102 }
103 }
104 }
105 };
106 };
107

lib/routes/global/global.find-in-model-path.route.js

96.20%
184
177
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _joi = _interopRequireDefault(require("joi")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _lodash = _interopRequireDefault(require("lodash")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _constants = require("../../../util/constants") 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 1 var 8
30 /*$lab:coverage:off$*/ 8
31 _global = _interopRequireDefault(require("../../validators/global.validator")) 8
32 /*$lab:coverage:on$*/ 8
33 ; 8
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 //const logger = require('../../../util/logger')({ name: `route:global:find-all-related-models-in-path` }); 10
39 1 const validateConfiguration = ({ 12
40 models, 12
41 isFindById, 12
42 isSingleResult 12
43 }) => { 12
44
if (
!
14
45 /*$lab:coverage:off$*/ 14
46 _lodash 14
47 /*$lab:coverage:on$*/ 14
48 . 14
49 /*$lab:coverage:off$*/ 14
50 default 14
51 /*$lab:coverage:on$*/ 14
52
.isArray(models)
|| models.length < 2) {
14
53 throw new Error('A related model path needs an array of at least 2 models'); 15
54 } 16
55
56 20 if (isFindById && isSingleResult) { 18
57 throw new Error('Route can\'t be configured findById and isSingleResult at the same time: \n' + 'isFindById: false && isSingleResult: false -> (Find all linked models) -> /{model}\n' + 'isFindById: false && isSingleResult: true -> (Find single linked model) -> /{model}\n' + 'isFindById: true && isSingleResult: false -> (Find single linked model by id) -> /{model}/{modelId}\n' + 'isFindById: true && isSingleResult: true -> (Error) -> ☠️\n' + ''); 19
58 } 25
59 }; 12
60
61 1 const generateModelRouteMap = model => { 27
62 const route = 29
63 /*$lab:coverage:off$*/ 29
64 _constants 29
65 /*$lab:coverage:on$*/ 29
66 . 29
67 /*$lab:coverage:off$*/ 29
68 MODEL_TO_ROUTE 29
69 /*$lab:coverage:on$*/ 29
70 [model]; 29
71
72
if (
!route
) {
30
73 throw new Error(`Model '${model}' doesn't have an assigned route.`); 31
74 } 32
75
76 44 const idName = `${route}${ 33
77 /*$lab:coverage:off$*/ 33
78 _constants 33
79 /*$lab:coverage:on$*/ 33
80 . 33
81 /*$lab:coverage:off$*/ 33
82 PARAMS_POSTFIX_ID 33
83 /*$lab:coverage:on$*/ 33
84 }`; 33
85 44 const path = `${route}/{${idName}}`; 34
86 44 return { 35
87 model, 35
88 route, 35
89 idName, 35
90 path 39
91 }; 35
92 }; 27
93
94 1 module.exports = ({ 43
95 models, 43
96 isFindById = false, 43
97 isSingleResult = false 43
98 }) => { 43
99 validateConfiguration({ 45
100 models, 45
101 isFindById, 45
102 isSingleResult 45
103 }); 45
104 20 const modelRouteMap = 46
105 /*$lab:coverage:off$*/ 46
106 (0, 46
107 /*$lab:coverage:on$*/ 46
108
109 /*$lab:coverage:off$*/ 46
110 _lodash 46
111 /*$lab:coverage:on$*/ 46
112 . 46
113 /*$lab:coverage:off$*/ 46
114 default) 46
115 /*$lab:coverage:on$*/ 46
116 (models).map(generateModelRouteMap).value(); 46
117 20 const path = 47
118 /*$lab:coverage:off$*/ 47
119 (0, 47
120 /*$lab:coverage:on$*/ 47
121
122 /*$lab:coverage:off$*/ 47
123 _lodash 47
124 /*$lab:coverage:on$*/ 47
125 . 47
126 /*$lab:coverage:off$*/ 47
127 default) 47
128 /*$lab:coverage:on$*/ 47
129 (modelRouteMap).initial().map('path').value(); 47
130
131 20 if (isFindById) { 48
132 4 path.push( 49
133 /*$lab:coverage:off$*/ 49
134 (0, 49
135 /*$lab:coverage:on$*/ 49
136
137 /*$lab:coverage:off$*/ 49
138 _lodash 49
139 /*$lab:coverage:on$*/ 49
140 . 49
141 /*$lab:coverage:off$*/ 49
142 default) 49
143 /*$lab:coverage:on$*/ 49
144 (modelRouteMap).last().path); // /{model}/{modelId} 49
145 } else { 51
146 16 path.push( 52
147 /*$lab:coverage:off$*/ 52
148 (0, 52
149 /*$lab:coverage:on$*/ 52
150
151 /*$lab:coverage:off$*/ 52
152 _lodash 52
153 /*$lab:coverage:on$*/ 52
154 . 52
155 /*$lab:coverage:off$*/ 52
156 default) 52
157 /*$lab:coverage:on$*/ 52
158 (modelRouteMap).last().route); // /{model} 52
159 } 53
160
161 20 return { 55
162 method: 'get', 55
163 path: `/${path.join('/')}`, 55
164 options: { 58
165 tags: ['api'], 58
166 validate: { 60
167 query: (() => { 62
168 if (!isFindById && !isSingleResult) { 64
169 10 return ( 65
170 /*$lab:coverage:off$*/ 65
171 _global 65
172 /*$lab:coverage:on$*/ 65
173 . 65
174 /*$lab:coverage:off$*/ 65
175 default 65
176 /*$lab:coverage:on$*/ 65
177 .findAll.query 65
178 ); 65
179 } 66
180
181 10 return null; 67
182 })(), 60
183 params: (() => { 69
184 const validation = {}; 71
185 20 const filteredMap = isFindById ? 72
186 /*$lab:coverage:off$*/ 72
187 (0, 72
188 /*$lab:coverage:on$*/ 72
189
190 /*$lab:coverage:off$*/ 72
191 _lodash 72
192 /*$lab:coverage:on$*/ 72
193 . 72
194 /*$lab:coverage:off$*/ 72
195 default) 72
196 /*$lab:coverage:on$*/ 72
197 (modelRouteMap) : 72
198 /*$lab:coverage:off$*/ 72
199 (0, 72
200 /*$lab:coverage:on$*/ 72
201
202 /*$lab:coverage:off$*/ 72
203 _lodash 72
204 /*$lab:coverage:on$*/ 72
205 . 72
206 /*$lab:coverage:off$*/ 72
207 default) 72
208 /*$lab:coverage:on$*/ 72
209 (modelRouteMap).initial(); 72
210 20 filteredMap.each(modeRoute => { 74
211 validation[modeRoute.idName] = 76
212 /*$lab:coverage:off$*/ 76
213 _joi 76
214 /*$lab:coverage:on$*/ 76
215 . 76
216 /*$lab:coverage:off$*/ 76
217 default 76
218 /*$lab:coverage:on$*/ 76
219 .string().required().description(`${modeRoute.model} id`); 76
220 }); 73
221 20 return validation; 80
222 })() 69
223 }, 58
224 handler: async request => { 84
225 const { 86
226 globalService 86
227 } = await request.services(); 86
228
229 1 const getParametersFromRequest = modeRoute => { 87
230 const { 89
231 model, 89
232 idName 89
233 } = modeRoute; 89
234 2 const id = request.params[idName]; 90
235 2 return { 91
236 model, 91
237 id 91
238 }; 91
239 }; 87
240
241 1 const { 93
242 skip, 93
243 limit, 93
244 direction, 93
245 field 93
246 } = request.query; 93
247 1 const modelPath = 94
248 /*$lab:coverage:off$*/ 94
249 (0, 94
250 /*$lab:coverage:on$*/ 94
251
252 /*$lab:coverage:off$*/ 94
253 _lodash 94
254 /*$lab:coverage:on$*/ 94
255 . 94
256 /*$lab:coverage:off$*/ 94
257 default) 94
258 /*$lab:coverage:on$*/ 94
259 (modelRouteMap).map(getParametersFromRequest).value(); 94
260
261 1 try { 96
262 1 return await globalService.findInModelPath({ 97
263 modelPath, 97
264 isSingleResult, 97
265 skip, 97
266 limit, 97
267 direction, 97
268 field 97
269 }); 97
270 } catch ({ 99
271 message, 99
272 statusCode 99
273 }) { 99
274 return new 101
275 /*$lab:coverage:off$*/ 101
276 _boom 101
277 /*$lab:coverage:on$*/ 101
278 . 101
279 /*$lab:coverage:off$*/ 101
280 default 101
281 /*$lab:coverage:on$*/ 101
282 (message, { 101
283 statusCode 101
284 }); 101
285 } 102
286 } 103
287 } 58
288 }; 55
289 }; 43
290

lib/routes/global/global.search-by-field.route.js (transformed to lib/routes/global/global.search-by-field.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_FIELD,
4 PARAM_VALUE,
5 ROUTE_TO_MODEL
6 } from '../../../util/constants';
7 import GlobalValidator from '../../validators/global.validator';
8
9 //const logger = require('../../../util/logger')({ name: `route:global:search-by-field` });
10
11 module.exports = ({ ROUTE }) => {
12
13 return {
14 method: 'get',
15 path: `/${ROUTE}/search/{${PARAM_FIELD}}/{${PARAM_VALUE}}`,
16 options: {
17 tags: ['api'],
18 validate: GlobalValidator.searchByfield,
19
20 handler: async (request) => {
21
22
const { globalService } = await request.services();
23 const {
24 [PARAM_FIELD]: field,
25 [PARAM_VALUE]: value
26 } = request.params;
27 try {
28 return await globalService.searchByField({ field, value, model: ROUTE_TO_MODEL[ROUTE] });
29 }
30 catch ({ message, statusCode }) {
31
32 return new Boom(message, { statusCode });
33 }
34 }
35 }
36 };
37 };
38

lib/routes/global/global.search-by-field.route.js

91.89%
74
68
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _global = _interopRequireDefault(require("../../validators/global.validator")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:global:search-by-field` }); 9
27 1 module.exports = ({ 11
28 ROUTE 11
29 }) => { 11
30 return { 13
31 method: 'get', 13
32 path: `/${ROUTE}/search/{${ 15
33 /*$lab:coverage:off$*/ 15
34 _constants 15
35 /*$lab:coverage:on$*/ 15
36 . 15
37 /*$lab:coverage:off$*/ 15
38 PARAM_FIELD 15
39 /*$lab:coverage:on$*/ 15
40 }}/{${ 15
41 /*$lab:coverage:off$*/ 15
42 _constants 15
43 /*$lab:coverage:on$*/ 15
44 . 15
45 /*$lab:coverage:off$*/ 15
46 PARAM_VALUE 15
47 /*$lab:coverage:on$*/ 15
48 }}`, 13
49 options: { 16
50 tags: ['api'], 16
51 validate: 18
52 /*$lab:coverage:off$*/ 18
53 _global 18
54 /*$lab:coverage:on$*/ 18
55 . 18
56 /*$lab:coverage:off$*/ 18
57 default 18
58 /*$lab:coverage:on$*/ 18
59 .searchByfield, 16
60 handler: async request => { 20
61
const {
22
62 globalService 22
63
} = await request.services();
22
64 const { 23
65 [ 24
66 /*$lab:coverage:off$*/ 24
67 _constants 24
68 /*$lab:coverage:on$*/ 24
69 . 24
70 /*$lab:coverage:off$*/ 24
71 PARAM_FIELD 24
72 /*$lab:coverage:on$*/ 24
73 ]: field, 23
74 [ 25
75 /*$lab:coverage:off$*/ 25
76 _constants 25
77 /*$lab:coverage:on$*/ 25
78 . 25
79 /*$lab:coverage:off$*/ 25
80 PARAM_VALUE 25
81 /*$lab:coverage:on$*/ 25
82 ]: value 25
83 } = request.params; 23
84
85 try { 27
86 return await globalService.searchByField({ 28
87 field, 28
88 value, 28
89 model: 28
90 /*$lab:coverage:off$*/ 28
91 _constants 28
92 /*$lab:coverage:on$*/ 28
93 . 28
94 /*$lab:coverage:off$*/ 28
95 ROUTE_TO_MODEL 28
96 /*$lab:coverage:on$*/ 28
97 [ROUTE] 28
98 }); 28
99 } catch ({ 30
100 message, 30
101 statusCode 30
102 }) { 30
103 return new 32
104 /*$lab:coverage:off$*/ 32
105 _boom 32
106 /*$lab:coverage:on$*/ 32
107 . 32
108 /*$lab:coverage:off$*/ 32
109 default 32
110 /*$lab:coverage:on$*/ 32
111 (message, { 32
112 statusCode 32
113 }); 32
114 } 33
115 } 34
116 } 16
117 }; 13
118 }; 11
119

lib/routes/keyword/keyword.remove-by-id.route.js (transformed to lib/routes/keyword/keyword.remove-by-id.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 ROUTE_KEYWORD,
4 ROUTE_KEYWORD_ID
5 } from '../../../util/constants';
6 import KeywordValidator from '../../validators/keyword.validator';
7
8 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` });
9
10 module.exports = {
11 method: 'delete',
12 path: `/${ROUTE_KEYWORD}/{${ROUTE_KEYWORD_ID}}`,
13 options: {
14 tags: ['api'],
15 validate: KeywordValidator.removeById,
16 handler: async (request, h) => {
17
18
const { keywordService } = await request.services();
19 const { [ROUTE_KEYWORD_ID]: id } = request.params;
20 try {
21 await keywordService.removeById({ id });
22 return h.continue;
23 }
24 catch ({ message, statusCode }) {
25 return new Boom(message, { statusCode });
26 }
27 }
28 }
29 };
30

lib/routes/keyword/keyword.remove-by-id.route.js

88.33%
60
53
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _keyword = _interopRequireDefault(require("../../validators/keyword.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:removeById` }); 8
27 1 module.exports = { 10
28 method: 'delete', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_KEYWORD 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 ROUTE_KEYWORD_ID 12
44 /*$lab:coverage:on$*/ 12
45 }}`, 10
46 options: { 13
47 tags: ['api'], 13
48 validate: 15
49 /*$lab:coverage:off$*/ 15
50 _keyword 15
51 /*$lab:coverage:on$*/ 15
52 . 15
53 /*$lab:coverage:off$*/ 15
54 default 15
55 /*$lab:coverage:on$*/ 15
56 .removeById, 13
57 handler: async (request, h) => { 16
58
const {
18
59 keywordService 18
60
} = await request.services();
18
61 const { 19
62 [ 19
63 /*$lab:coverage:off$*/ 19
64 _constants 19
65 /*$lab:coverage:on$*/ 19
66 . 19
67 /*$lab:coverage:off$*/ 19
68 ROUTE_KEYWORD_ID 19
69 /*$lab:coverage:on$*/ 19
70 ]: id 19
71 } = request.params; 19
72
73 try { 20
74 await keywordService.removeById({ 21
75 id 21
76 }); 21
77 return h.continue; 22
78 } catch ({ 24
79 message, 24
80 statusCode 24
81 }) { 24
82 return new 25
83 /*$lab:coverage:off$*/ 25
84 _boom 25
85 /*$lab:coverage:on$*/ 25
86 . 25
87 /*$lab:coverage:off$*/ 25
88 default 25
89 /*$lab:coverage:on$*/ 25
90 (message, { 25
91 statusCode 25
92 }); 25
93 } 26
94 } 27
95 } 13
96 }; 10
97

lib/routes/settings/settings.create.route.js (transformed to lib/routes/settings/settings.create.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import { ROUTE_SETTINGS } from '../../../util/constants';
3 import SettingsValidator from '../../validators/settings.validator';
4
5 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
6
7 module.exports = {
8 method: 'post',
9 path: `/${ROUTE_SETTINGS}`,
10 options: {
11 tags: ['api'],
12 validate: SettingsValidator.create,
13 handler: async (request) => {
14
15
const { settingsService } = await request.services();
16 try {
17 return await settingsService.create({ data: request.payload });
18 }
19 catch ({ message, statusCode }) {
20 return new Boom(message, { statusCode });
21 }
22 }
23 }
24 };
25

lib/routes/settings/settings.create.route.js

89.58%
48
43
5
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _settings = _interopRequireDefault(require("../../validators/settings.validator")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 5
27 1 module.exports = { 7
28 method: 'post', 7
29 path: `/${ 9
30 /*$lab:coverage:off$*/ 9
31 _constants 9
32 /*$lab:coverage:on$*/ 9
33 . 9
34 /*$lab:coverage:off$*/ 9
35 ROUTE_SETTINGS 9
36 /*$lab:coverage:on$*/ 9
37 }`, 7
38 options: { 10
39 tags: ['api'], 10
40 validate: 12
41 /*$lab:coverage:off$*/ 12
42 _settings 12
43 /*$lab:coverage:on$*/ 12
44 . 12
45 /*$lab:coverage:off$*/ 12
46 default 12
47 /*$lab:coverage:on$*/ 12
48 .create, 10
49 handler: async request => { 13
50
const {
15
51 settingsService 15
52
} = await request.services();
15
53
54 try { 16
55 return await settingsService.create({ 17
56 data: request.payload 17
57 }); 17
58 } catch ({ 19
59 message, 19
60 statusCode 19
61 }) { 19
62 return new 20
63 /*$lab:coverage:off$*/ 20
64 _boom 20
65 /*$lab:coverage:on$*/ 20
66 . 20
67 /*$lab:coverage:off$*/ 20
68 default 20
69 /*$lab:coverage:on$*/ 20
70 (message, { 20
71 statusCode 20
72 }); 20
73 } 21
74 } 22
75 } 10
76 }; 7
77

lib/routes/settings/settings.find-all.route.js (transformed to lib/routes/settings/settings.find-all.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import { ROUTE_SETTINGS } from '../../../util/constants';
3 //import AgentValidator from '../../validators/agent.validator';
4
5 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
6
7 module.exports = {
8 method: 'get',
9 path: `/${ROUTE_SETTINGS}`,
10 options: {
11 tags: ['api'],
12 handler: async (request) => {
13
14
const { settingsService } = await request.services();
15 try {
16 return await settingsService.findAll();
17 }
18 catch ({ message, statusCode }) {
19
20 return new Boom(message, { statusCode });
21 }
22 }
23 }
24 };
25
26

lib/routes/settings/settings.find-all.route.js

86.84%
38
33
5
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 //import AgentValidator from '../../validators/agent.validator'; 3
21 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 5
22 1 module.exports = { 7
23 method: 'get', 7
24 path: `/${ 9
25 /*$lab:coverage:off$*/ 9
26 _constants 9
27 /*$lab:coverage:on$*/ 9
28 . 9
29 /*$lab:coverage:off$*/ 9
30 ROUTE_SETTINGS 9
31 /*$lab:coverage:on$*/ 9
32 }`, 7
33 options: { 10
34 tags: ['api'], 10
35 handler: async request => { 12
36
const {
14
37 settingsService 14
38
} = await request.services();
14
39
40 try { 15
41 return await settingsService.findAll(); 16
42 } catch ({ 18
43 message, 18
44 statusCode 18
45 }) { 18
46 return new 20
47 /*$lab:coverage:off$*/ 20
48 _boom 20
49 /*$lab:coverage:on$*/ 20
50 . 20
51 /*$lab:coverage:off$*/ 20
52 default 20
53 /*$lab:coverage:on$*/ 20
54 (message, { 20
55 statusCode 20
56 }); 20
57 } 21
58 } 22
59 } 10
60 }; 7
61

lib/routes/settings/settings.find-by-name.route.js (transformed to lib/routes/settings/settings.find-by-name.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_NAME,
4 ROUTE_SETTINGS
5 } from '../../../util/constants';
6 import SettingsValidator from '../../validators/settings.validator';
7
8 module.exports = {
9 method: 'get',
10 path: `/${ROUTE_SETTINGS}/{${PARAM_NAME}}`,
11 options: {
12 tags: ['api'],
13 validate: SettingsValidator.findByName,
14 handler: async (request) => {
15
16
const { settingsService } = await request.services();
17 const { [PARAM_NAME]: name } = request.params;
18 try {
19 return await settingsService.findByName({ name });
20 }
21 catch ({ message, statusCode }) {
22
23 return new Boom(message, { statusCode });
24 }
25 }
26 }
27 };
28
29

lib/routes/settings/settings.find-by-name.route.js

89.83%
59
53
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _settings = _interopRequireDefault(require("../../validators/settings.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = { 8
27 method: 'get', 8
28 path: `/${ 10
29 /*$lab:coverage:off$*/ 10
30 _constants 10
31 /*$lab:coverage:on$*/ 10
32 . 10
33 /*$lab:coverage:off$*/ 10
34 ROUTE_SETTINGS 10
35 /*$lab:coverage:on$*/ 10
36 }/{${ 10
37 /*$lab:coverage:off$*/ 10
38 _constants 10
39 /*$lab:coverage:on$*/ 10
40 . 10
41 /*$lab:coverage:off$*/ 10
42 PARAM_NAME 10
43 /*$lab:coverage:on$*/ 10
44 }}`, 8
45 options: { 11
46 tags: ['api'], 11
47 validate: 13
48 /*$lab:coverage:off$*/ 13
49 _settings 13
50 /*$lab:coverage:on$*/ 13
51 . 13
52 /*$lab:coverage:off$*/ 13
53 default 13
54 /*$lab:coverage:on$*/ 13
55 .findByName, 11
56 handler: async request => { 14
57
const {
16
58 settingsService 16
59
} = await request.services();
16
60 const { 17
61 [ 17
62 /*$lab:coverage:off$*/ 17
63 _constants 17
64 /*$lab:coverage:on$*/ 17
65 . 17
66 /*$lab:coverage:off$*/ 17
67 PARAM_NAME 17
68 /*$lab:coverage:on$*/ 17
69 ]: name 17
70 } = request.params; 17
71
72 try { 18
73 return await settingsService.findByName({ 19
74 name 19
75 }); 19
76 } catch ({ 21
77 message, 21
78 statusCode 21
79 }) { 21
80 return new 23
81 /*$lab:coverage:off$*/ 23
82 _boom 23
83 /*$lab:coverage:on$*/ 23
84 . 23
85 /*$lab:coverage:off$*/ 23
86 default 23
87 /*$lab:coverage:on$*/ 23
88 (message, { 23
89 statusCode 23
90 }); 23
91 } 24
92 } 25
93 } 11
94 }; 8
95

lib/routes/settings/settings.update-by-name.route.js (transformed to lib/routes/settings/settings.update-by-name.route.js)

%
Line Lint Hits Source
1 import Boom from 'boom';
2 import {
3 PARAM_NAME,
4 ROUTE_SETTINGS
5 } from '../../../util/constants';
6 import SettingsValidator from '../../validators/settings.validator';
7
8 //const logger = require('../../../util/logger')({ name: `route:agent:create` });
9
10 module.exports = {
11 method: 'put',
12 path: `/${ROUTE_SETTINGS}/{${PARAM_NAME}}`,
13 options: {
14 tags: ['api'],
15 validate: SettingsValidator.updateByName,
16 handler: async (request) => {
17
18
const { settingsService } = await request.services();
19 const { [PARAM_NAME]: name } = request.params;
20 try {
21 return await settingsService.updateByName({ name, value: request.payload });
22 }
23 catch ({ message, statusCode }) {
24 return new Boom(message, { statusCode });
25 }
26 }
27 }
28 };
29

lib/routes/settings/settings.update-by-name.route.js

90%
60
54
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _boom = _interopRequireDefault(require("boom")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _settings = _interopRequireDefault(require("../../validators/settings.validator")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 //const logger = require('../../../util/logger')({ name: `route:agent:create` }); 8
27 1 module.exports = { 10
28 method: 'put', 10
29 path: `/${ 12
30 /*$lab:coverage:off$*/ 12
31 _constants 12
32 /*$lab:coverage:on$*/ 12
33 . 12
34 /*$lab:coverage:off$*/ 12
35 ROUTE_SETTINGS 12
36 /*$lab:coverage:on$*/ 12
37 }/{${ 12
38 /*$lab:coverage:off$*/ 12
39 _constants 12
40 /*$lab:coverage:on$*/ 12
41 . 12
42 /*$lab:coverage:off$*/ 12
43 PARAM_NAME 12
44 /*$lab:coverage:on$*/ 12
45 }}`, 10
46 options: { 13
47 tags: ['api'], 13
48 validate: 15
49 /*$lab:coverage:off$*/ 15
50 _settings 15
51 /*$lab:coverage:on$*/ 15
52 . 15
53 /*$lab:coverage:off$*/ 15
54 default 15
55 /*$lab:coverage:on$*/ 15
56 .updateByName, 13
57 handler: async request => { 16
58
const {
18
59 settingsService 18
60
} = await request.services();
18
61 const { 19
62 [ 19
63 /*$lab:coverage:off$*/ 19
64 _constants 19
65 /*$lab:coverage:on$*/ 19
66 . 19
67 /*$lab:coverage:off$*/ 19
68 PARAM_NAME 19
69 /*$lab:coverage:on$*/ 19
70 ]: name 19
71 } = request.params; 19
72
73 try { 20
74 return await settingsService.updateByName({ 21
75 name, 21
76 value: request.payload 21
77 }); 21
78 } catch ({ 23
79 message, 23
80 statusCode 23
81 }) { 23
82 return new 24
83 /*$lab:coverage:off$*/ 24
84 _boom 24
85 /*$lab:coverage:on$*/ 24
86 . 24
87 /*$lab:coverage:off$*/ 24
88 default 24
89 /*$lab:coverage:on$*/ 24
90 (message, { 24
91 statusCode 24
92 }); 24
93 } 25
94 } 26
95 } 13
96 }; 10
97

lib/services/action.services.js (transformed to lib/services/action.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import Create from './action/action.create.service';
3 import Remove from './action/action.remove-by-id.service';
4
5 module.exports = class ActionService extends Schmervice.Service {
6
7 async create() {
8
9
return await Create.apply(this, arguments);
10 }
11
12 async removeById() {
13
14
return await Remove.apply(this, arguments);
15 }
16 };
17
18
19

lib/services/action.services.js

87.88%
33
29
4
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _actionCreate = _interopRequireDefault(require("./action/action.create.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _actionRemoveById = _interopRequireDefault(require("./action/action.remove-by-id.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = class ActionService extends 5
27 /*$lab:coverage:off$*/ 5
28 _schmervice 5
29 /*$lab:coverage:on$*/ 5
30 . 5
31 /*$lab:coverage:off$*/ 5
32 default 5
33 /*$lab:coverage:on$*/ 5
34 .Service { 5
35 async create() { 7
36
return await (
9
37 /*$lab:coverage:off$*/ 9
38 _actionCreate 9
39 /*$lab:coverage:on$*/ 9
40 . 9
41 /*$lab:coverage:off$*/ 9
42 default 9
43 /*$lab:coverage:on$*/ 9
44 .apply(this, arguments) 9
45
);
9
46 } 10
47
48 async removeById() { 12
49
return await (
14
50 /*$lab:coverage:off$*/ 14
51 _actionRemoveById 14
52 /*$lab:coverage:on$*/ 14
53 . 14
54 /*$lab:coverage:off$*/ 14
55 default 14
56 /*$lab:coverage:on$*/ 14
57 .apply(this, arguments) 14
58
);
14
59 } 15
60
61 }; 5
62

lib/services/agent.services.js (transformed to lib/services/agent.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import AgentCreateAction from './agent/agent.create-action.service';
3 import AgentCreateCategory from './agent/agent.create-category.service';
4 import AgentCreateKeyword from './agent/agent.create-keyword.service';
5 import AgentCreatePostFormatInAction from './agent/agent.create-post-format-in-action.service';
6 import AgentCreatePostFormat from './agent/agent.create-post-format.service';
7 import AgentCreateWebhookInAction from './agent/agent.create-webhook-in-action.service';
8 import AgentCreateWebhook from './agent/agent.create-webhook.service';
9 import AgentCreate from './agent/agent.create.service';
10 import AgentFindAllCategory from './agent/agent.find-all-category.service';
11 import AgentFindCategoryById from './agent/agent.find-category-by-id.service';
12 import AgentFindPostFormat from './agent/agent.find-post-format.service';
13 import AgentRemoveById from './agent/agent.remove-by-id.service';
14 import AgentRemovePostFormat from './agent/agent.remove-post-format.service';
15 import AgentUpdateById from './agent/agent.update-by-id.service';
16 import UpdatePostFormat from './agent/agent.update-post-format.service';
17
18 module.exports = class AgentService extends Schmervice.Service {
19
20 async create() {
21
22
return await AgentCreate.apply(this, arguments);
23 }
24
25 async removeById() {
26
27
return await AgentRemoveById.apply(this, arguments);
28 }
29
30 async createCategory() {
31
32
return await AgentCreateCategory.apply(this, arguments);
33 }
34
35 async createAction() {
36
37
return await AgentCreateAction.apply(this, arguments);
38 }
39
40 async createKeyword() {
41
42
return await AgentCreateKeyword.apply(this, arguments);
43 }
44
45 async createPostFormat() {
46
47
return await AgentCreatePostFormat.apply(this, arguments);
48 }
49
50 async createPostFormatInAction() {
51
52
return await AgentCreatePostFormatInAction.apply(this, arguments);
53 }
54
55 async findAllCategory() {
56
57
return await AgentFindAllCategory.apply(this, arguments);
58 }
59
60 async findCategoryById() {
61
62
return await AgentFindCategoryById.apply(this, arguments);
63 }
64
65 async updateById() {
66
67
return await AgentUpdateById.apply(this, arguments);
68 }
69
70 async findPostFormat() {
71
72
return await AgentFindPostFormat.apply(this, arguments);
73 }
74
75 async removePostFormat() {
76
77
return await AgentRemovePostFormat.apply(this, arguments);
78 }
79
80 async updatePostFormat() {
81
82
return await UpdatePostFormat.apply(this, arguments);
83 }
84
85 async createWebhook() {
86
87
return await AgentCreateWebhook.apply(this, arguments);
88 }
89
90 async createWebhookInAction() {
91
92
return await AgentCreateWebhookInAction.apply(this, arguments);
93 }
94 };
95
96
97

lib/services/agent.services.js

82.95%
176
146
30
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _agentCreateAction = _interopRequireDefault(require("./agent/agent.create-action.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _agentCreateCategory = _interopRequireDefault(require("./agent/agent.create-category.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _agentCreateKeyword = _interopRequireDefault(require("./agent/agent.create-keyword.service")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 1 var 5
30 /*$lab:coverage:off$*/ 5
31 _agentCreatePostFormatInAction = _interopRequireDefault(require("./agent/agent.create-post-format-in-action.service")) 5
32 /*$lab:coverage:on$*/ 5
33 ; 5
34
35 1 var 6
36 /*$lab:coverage:off$*/ 6
37 _agentCreatePostFormat = _interopRequireDefault(require("./agent/agent.create-post-format.service")) 6
38 /*$lab:coverage:on$*/ 6
39 ; 6
40
41 1 var 7
42 /*$lab:coverage:off$*/ 7
43 _agentCreateWebhookInAction = _interopRequireDefault(require("./agent/agent.create-webhook-in-action.service")) 7
44 /*$lab:coverage:on$*/ 7
45 ; 7
46
47 1 var 8
48 /*$lab:coverage:off$*/ 8
49 _agentCreateWebhook = _interopRequireDefault(require("./agent/agent.create-webhook.service")) 8
50 /*$lab:coverage:on$*/ 8
51 ; 8
52
53 1 var 9
54 /*$lab:coverage:off$*/ 9
55 _agentCreate = _interopRequireDefault(require("./agent/agent.create.service")) 9
56 /*$lab:coverage:on$*/ 9
57 ; 9
58
59 1 var 10
60 /*$lab:coverage:off$*/ 10
61 _agentFindAllCategory = _interopRequireDefault(require("./agent/agent.find-all-category.service")) 10
62 /*$lab:coverage:on$*/ 10
63 ; 10
64
65 1 var 11
66 /*$lab:coverage:off$*/ 11
67 _agentFindCategoryById = _interopRequireDefault(require("./agent/agent.find-category-by-id.service")) 11
68 /*$lab:coverage:on$*/ 11
69 ; 11
70
71 1 var 12
72 /*$lab:coverage:off$*/ 12
73 _agentFindPostFormat = _interopRequireDefault(require("./agent/agent.find-post-format.service")) 12
74 /*$lab:coverage:on$*/ 12
75 ; 12
76
77 1 var 13
78 /*$lab:coverage:off$*/ 13
79 _agentRemoveById = _interopRequireDefault(require("./agent/agent.remove-by-id.service")) 13
80 /*$lab:coverage:on$*/ 13
81 ; 13
82
83 1 var 14
84 /*$lab:coverage:off$*/ 14
85 _agentRemovePostFormat = _interopRequireDefault(require("./agent/agent.remove-post-format.service")) 14
86 /*$lab:coverage:on$*/ 14
87 ; 14
88
89 1 var 15
90 /*$lab:coverage:off$*/ 15
91 _agentUpdateById = _interopRequireDefault(require("./agent/agent.update-by-id.service")) 15
92 /*$lab:coverage:on$*/ 15
93 ; 15
94
95 1 var 16
96 /*$lab:coverage:off$*/ 16
97 _agentUpdatePostFormat = _interopRequireDefault(require("./agent/agent.update-post-format.service")) 16
98 /*$lab:coverage:on$*/ 16
99 ; 16
100
101 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
102
103 /*$lab:coverage:on$*/
104 1 module.exports = class AgentService extends 18
105 /*$lab:coverage:off$*/ 18
106 _schmervice 18
107 /*$lab:coverage:on$*/ 18
108 . 18
109 /*$lab:coverage:off$*/ 18
110 default 18
111 /*$lab:coverage:on$*/ 18
112 .Service { 18
113 async create() { 20
114
return await (
22
115 /*$lab:coverage:off$*/ 22
116 _agentCreate 22
117 /*$lab:coverage:on$*/ 22
118 . 22
119 /*$lab:coverage:off$*/ 22
120 default 22
121 /*$lab:coverage:on$*/ 22
122 .apply(this, arguments) 22
123
);
22
124 } 23
125
126 async removeById() { 25
127
return await (
27
128 /*$lab:coverage:off$*/ 27
129 _agentRemoveById 27
130 /*$lab:coverage:on$*/ 27
131 . 27
132 /*$lab:coverage:off$*/ 27
133 default 27
134 /*$lab:coverage:on$*/ 27
135 .apply(this, arguments) 27
136
);
27
137 } 28
138
139 async createCategory() { 30
140
return await (
32
141 /*$lab:coverage:off$*/ 32
142 _agentCreateCategory 32
143 /*$lab:coverage:on$*/ 32
144 . 32
145 /*$lab:coverage:off$*/ 32
146 default 32
147 /*$lab:coverage:on$*/ 32
148 .apply(this, arguments) 32
149
);
32
150 } 33
151
152 async createAction() { 35
153
return await (
37
154 /*$lab:coverage:off$*/ 37
155 _agentCreateAction 37
156 /*$lab:coverage:on$*/ 37
157 . 37
158 /*$lab:coverage:off$*/ 37
159 default 37
160 /*$lab:coverage:on$*/ 37
161 .apply(this, arguments) 37
162
);
37
163 } 38
164
165 async createKeyword() { 40
166
return await (
42
167 /*$lab:coverage:off$*/ 42
168 _agentCreateKeyword 42
169 /*$lab:coverage:on$*/ 42
170 . 42
171 /*$lab:coverage:off$*/ 42
172 default 42
173 /*$lab:coverage:on$*/ 42
174 .apply(this, arguments) 42
175
);
42
176 } 43
177
178 async createPostFormat() { 45
179
return await (
47
180 /*$lab:coverage:off$*/ 47
181 _agentCreatePostFormat 47
182 /*$lab:coverage:on$*/ 47
183 . 47
184 /*$lab:coverage:off$*/ 47
185 default 47
186 /*$lab:coverage:on$*/ 47
187 .apply(this, arguments) 47
188
);
47
189 } 48
190
191 async createPostFormatInAction() { 50
192
return await (
52
193 /*$lab:coverage:off$*/ 52
194 _agentCreatePostFormatInAction 52
195 /*$lab:coverage:on$*/ 52
196 . 52
197 /*$lab:coverage:off$*/ 52
198 default 52
199 /*$lab:coverage:on$*/ 52
200 .apply(this, arguments) 52
201
);
52
202 } 53
203
204 async findAllCategory() { 55
205
return await (
57
206 /*$lab:coverage:off$*/ 57
207 _agentFindAllCategory 57
208 /*$lab:coverage:on$*/ 57
209 . 57
210 /*$lab:coverage:off$*/ 57
211 default 57
212 /*$lab:coverage:on$*/ 57
213 .apply(this, arguments) 57
214
);
57
215 } 58
216
217 async findCategoryById() { 60
218
return await (
62
219 /*$lab:coverage:off$*/ 62
220 _agentFindCategoryById 62
221 /*$lab:coverage:on$*/ 62
222 . 62
223 /*$lab:coverage:off$*/ 62
224 default 62
225 /*$lab:coverage:on$*/ 62
226 .apply(this, arguments) 62
227
);
62
228 } 63
229
230 async updateById() { 65
231
return await (
67
232 /*$lab:coverage:off$*/ 67
233 _agentUpdateById 67
234 /*$lab:coverage:on$*/ 67
235 . 67
236 /*$lab:coverage:off$*/ 67
237 default 67
238 /*$lab:coverage:on$*/ 67
239 .apply(this, arguments) 67
240
);
67
241 } 68
242
243 async findPostFormat() { 70
244
return await (
72
245 /*$lab:coverage:off$*/ 72
246 _agentFindPostFormat 72
247 /*$lab:coverage:on$*/ 72
248 . 72
249 /*$lab:coverage:off$*/ 72
250 default 72
251 /*$lab:coverage:on$*/ 72
252 .apply(this, arguments) 72
253
);
72
254 } 73
255
256 async removePostFormat() { 75
257
return await (
77
258 /*$lab:coverage:off$*/ 77
259 _agentRemovePostFormat 77
260 /*$lab:coverage:on$*/ 77
261 . 77
262 /*$lab:coverage:off$*/ 77
263 default 77
264 /*$lab:coverage:on$*/ 77
265 .apply(this, arguments) 77
266
);
77
267 } 78
268
269 async updatePostFormat() { 80
270
return await (
82
271 /*$lab:coverage:off$*/ 82
272 _agentUpdatePostFormat 82
273 /*$lab:coverage:on$*/ 82
274 . 82
275 /*$lab:coverage:off$*/ 82
276 default 82
277 /*$lab:coverage:on$*/ 82
278 .apply(this, arguments) 82
279
);
82
280 } 83
281
282 async createWebhook() { 85
283
return await (
87
284 /*$lab:coverage:off$*/ 87
285 _agentCreateWebhook 87
286 /*$lab:coverage:on$*/ 87
287 . 87
288 /*$lab:coverage:off$*/ 87
289 default 87
290 /*$lab:coverage:on$*/ 87
291 .apply(this, arguments) 87
292
);
87
293 } 88
294
295 async createWebhookInAction() { 90
296
return await (
92
297 /*$lab:coverage:off$*/ 92
298 _agentCreateWebhookInAction 92
299 /*$lab:coverage:on$*/ 92
300 . 92
301 /*$lab:coverage:off$*/ 92
302 default 92
303 /*$lab:coverage:on$*/ 92
304 .apply(this, arguments) 92
305
);
92
306 } 93
307
308 }; 18
309

lib/services/category.services.js (transformed to lib/services/category.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import Create from './category/category.create.service';
3 import FindAllByIds from './category/category.find-all-by-ids.service';
4 import FindById from './category/category.find-by-id.service';
5 import RemoveById from './category/category.remove-by-id.service';
6
7 module.exports = class CategoryService extends Schmervice.Service {
8
9 async create() {
10
11
return await Create.apply(this, arguments);
12 }
13
14 async findAllByIds() {
15
16
return await FindAllByIds.apply(this, arguments);
17 }
18
19 async findById() {
20
21
return await FindById.apply(this, arguments);
22 }
23
24 async removeById() {
25
26
return await RemoveById.apply(this, arguments);
27 }
28 };
29
30
31

lib/services/category.services.js

85.45%
55
47
8
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _categoryCreate = _interopRequireDefault(require("./category/category.create.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _categoryFindAllByIds = _interopRequireDefault(require("./category/category.find-all-by-ids.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _categoryFindById = _interopRequireDefault(require("./category/category.find-by-id.service")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 1 var 5
30 /*$lab:coverage:off$*/ 5
31 _categoryRemoveById = _interopRequireDefault(require("./category/category.remove-by-id.service")) 5
32 /*$lab:coverage:on$*/ 5
33 ; 5
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 1 module.exports = class CategoryService extends 7
39 /*$lab:coverage:off$*/ 7
40 _schmervice 7
41 /*$lab:coverage:on$*/ 7
42 . 7
43 /*$lab:coverage:off$*/ 7
44 default 7
45 /*$lab:coverage:on$*/ 7
46 .Service { 7
47 async create() { 9
48
return await (
11
49 /*$lab:coverage:off$*/ 11
50 _categoryCreate 11
51 /*$lab:coverage:on$*/ 11
52 . 11
53 /*$lab:coverage:off$*/ 11
54 default 11
55 /*$lab:coverage:on$*/ 11
56 .apply(this, arguments) 11
57
);
11
58 } 12
59
60 async findAllByIds() { 14
61
return await (
16
62 /*$lab:coverage:off$*/ 16
63 _categoryFindAllByIds 16
64 /*$lab:coverage:on$*/ 16
65 . 16
66 /*$lab:coverage:off$*/ 16
67 default 16
68 /*$lab:coverage:on$*/ 16
69 .apply(this, arguments) 16
70
);
16
71 } 17
72
73 async findById() { 19
74
return await (
21
75 /*$lab:coverage:off$*/ 21
76 _categoryFindById 21
77 /*$lab:coverage:on$*/ 21
78 . 21
79 /*$lab:coverage:off$*/ 21
80 default 21
81 /*$lab:coverage:on$*/ 21
82 .apply(this, arguments) 21
83
);
21
84 } 22
85
86 async removeById() { 24
87
return await (
26
88 /*$lab:coverage:off$*/ 26
89 _categoryRemoveById 26
90 /*$lab:coverage:on$*/ 26
91 . 26
92 /*$lab:coverage:off$*/ 26
93 default 26
94 /*$lab:coverage:on$*/ 26
95 .apply(this, arguments) 26
96
);
26
97 } 27
98
99 }; 7
100

lib/services/global.services.js (transformed to lib/services/global.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import FindAll from './global/global.find-all.service';
3 import FindById from './global/global.find-by-id.service';
4 import FindInModelPath from './global/global.find-in-model-path.service';
5 import SearchByField from './global/global.search-by-field.service';
6
7 module.exports = class GlobalService extends Schmervice.Service {
8
9 async searchByField() {
10
11
return await SearchByField.apply(this, arguments);
12 }
13
14 async findById() {
15
16
return await FindById.apply(this, arguments);
17 }
18
19 async findAll() {
20
21 return await FindAll.apply(this, arguments);
22 }
23
24 async findInModelPath() {
25
26 return await FindInModelPath.apply(this, arguments);
27 }
28 };
29
30
31

lib/services/global.services.js

92.73%
55
51
4
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _globalFindAll = _interopRequireDefault(require("./global/global.find-all.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _globalFindById = _interopRequireDefault(require("./global/global.find-by-id.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _globalFindInModelPath = _interopRequireDefault(require("./global/global.find-in-model-path.service")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 1 var 5
30 /*$lab:coverage:off$*/ 5
31 _globalSearchByField = _interopRequireDefault(require("./global/global.search-by-field.service")) 5
32 /*$lab:coverage:on$*/ 5
33 ; 5
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 1 module.exports = class GlobalService extends 7
39 /*$lab:coverage:off$*/ 7
40 _schmervice 7
41 /*$lab:coverage:on$*/ 7
42 . 7
43 /*$lab:coverage:off$*/ 7
44 default 7
45 /*$lab:coverage:on$*/ 7
46 .Service { 7
47 async searchByField() { 9
48
return await (
11
49 /*$lab:coverage:off$*/ 11
50 _globalSearchByField 11
51 /*$lab:coverage:on$*/ 11
52 . 11
53 /*$lab:coverage:off$*/ 11
54 default 11
55 /*$lab:coverage:on$*/ 11
56 .apply(this, arguments) 11
57
);
11
58 } 12
59
60 async findById() { 14
61
return await (
16
62 /*$lab:coverage:off$*/ 16
63 _globalFindById 16
64 /*$lab:coverage:on$*/ 16
65 . 16
66 /*$lab:coverage:off$*/ 16
67 default 16
68 /*$lab:coverage:on$*/ 16
69 .apply(this, arguments) 16
70
);
16
71 } 17
72
73 async findAll() { 19
74 return await ( 21
75 /*$lab:coverage:off$*/ 21
76 _globalFindAll 21
77 /*$lab:coverage:on$*/ 21
78 . 21
79 /*$lab:coverage:off$*/ 21
80 default 21
81 /*$lab:coverage:on$*/ 21
82 .apply(this, arguments) 21
83 ); 21
84 } 22
85
86 async findInModelPath() { 24
87 return await ( 26
88 /*$lab:coverage:off$*/ 26
89 _globalFindInModelPath 26
90 /*$lab:coverage:on$*/ 26
91 . 26
92 /*$lab:coverage:off$*/ 26
93 default 26
94 /*$lab:coverage:on$*/ 26
95 .apply(this, arguments) 26
96 ); 26
97 } 27
98
99 }; 7
100

lib/services/keyword.services.js (transformed to lib/services/keyword.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import Create from './keyword/keyword.create.service';
3 import Remove from './keyword/keyword.remove-by-id.service';
4
5 module.exports = class KeywordService extends Schmervice.Service {
6
7 async create() {
8
9
return await Create.apply(this, arguments);
10 }
11
12 async removeById() {
13
14
return await Remove.apply(this, arguments);
15 }
16
17 };
18
19
20

lib/services/keyword.services.js

87.88%
33
29
4
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _keywordCreate = _interopRequireDefault(require("./keyword/keyword.create.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _keywordRemoveById = _interopRequireDefault(require("./keyword/keyword.remove-by-id.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = class KeywordService extends 5
27 /*$lab:coverage:off$*/ 5
28 _schmervice 5
29 /*$lab:coverage:on$*/ 5
30 . 5
31 /*$lab:coverage:off$*/ 5
32 default 5
33 /*$lab:coverage:on$*/ 5
34 .Service { 5
35 async create() { 7
36
return await (
9
37 /*$lab:coverage:off$*/ 9
38 _keywordCreate 9
39 /*$lab:coverage:on$*/ 9
40 . 9
41 /*$lab:coverage:off$*/ 9
42 default 9
43 /*$lab:coverage:on$*/ 9
44 .apply(this, arguments) 9
45
);
9
46 } 10
47
48 async removeById() { 12
49
return await (
14
50 /*$lab:coverage:off$*/ 14
51 _keywordRemoveById 14
52 /*$lab:coverage:on$*/ 14
53 . 14
54 /*$lab:coverage:off$*/ 14
55 default 14
56 /*$lab:coverage:on$*/ 14
57 .apply(this, arguments) 14
58
);
14
59 } 15
60
61 }; 5
62

lib/services/post-format.services.js (transformed to lib/services/post-format.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import Create from './post-format/post-format.create.service';
3 import FindAllByIds from './post-format/post-format.find-all-by-ids.service';
4 import UpdateById from './post-format/post-format.update-by-id.service';
5
6 module.exports = class PostFormatService extends Schmervice.Service {
7
8 async create() {
9
10
return await Create.apply(this, arguments);
11 }
12
13 async findAllByIds() {
14
15
return await FindAllByIds.apply(this, arguments);
16 }
17
18 async updateById() {
19
20
return await UpdateById.apply(this, arguments);
21 }
22 };
23
24
25

lib/services/post-format.services.js

86.36%
44
38
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _postFormatCreate = _interopRequireDefault(require("./post-format/post-format.create.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _postFormatFindAllByIds = _interopRequireDefault(require("./post-format/post-format.find-all-by-ids.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _postFormatUpdateById = _interopRequireDefault(require("./post-format/post-format.update-by-id.service")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
31 /*$lab:coverage:on$*/
32 1 module.exports = class PostFormatService extends 6
33 /*$lab:coverage:off$*/ 6
34 _schmervice 6
35 /*$lab:coverage:on$*/ 6
36 . 6
37 /*$lab:coverage:off$*/ 6
38 default 6
39 /*$lab:coverage:on$*/ 6
40 .Service { 6
41 async create() { 8
42
return await (
10
43 /*$lab:coverage:off$*/ 10
44 _postFormatCreate 10
45 /*$lab:coverage:on$*/ 10
46 . 10
47 /*$lab:coverage:off$*/ 10
48 default 10
49 /*$lab:coverage:on$*/ 10
50 .apply(this, arguments) 10
51
);
10
52 } 11
53
54 async findAllByIds() { 13
55
return await (
15
56 /*$lab:coverage:off$*/ 15
57 _postFormatFindAllByIds 15
58 /*$lab:coverage:on$*/ 15
59 . 15
60 /*$lab:coverage:off$*/ 15
61 default 15
62 /*$lab:coverage:on$*/ 15
63 .apply(this, arguments) 15
64
);
15
65 } 16
66
67 async updateById() { 18
68
return await (
20
69 /*$lab:coverage:off$*/ 20
70 _postFormatUpdateById 20
71 /*$lab:coverage:on$*/ 20
72 . 20
73 /*$lab:coverage:off$*/ 20
74 default 20
75 /*$lab:coverage:on$*/ 20
76 .apply(this, arguments) 20
77
);
20
78 } 21
79
80 }; 6
81

lib/services/settings.services.js (transformed to lib/services/settings.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import Create from './settings/settings.create.service';
3 import FindAll from './settings/settings.find-all.service';
4 import FindByName from './settings/settings.find-by-name.service';
5 import UpdateByName from './settings/settings.update-by-name.service';
6
7 module.exports = class SettingsService extends Schmervice.Service {
8
9 async create() {
10
11
return await Create.apply(this, arguments);
12 }
13
14 async findAll() {
15
16
return await FindAll.apply(this, arguments);
17 }
18
19 async findByName() {
20
21
return await FindByName.apply(this, arguments);
22 }
23
24 async updateByName() {
25
26
return await UpdateByName.apply(this, arguments);
27 }
28
29 };
30
31
32

lib/services/settings.services.js

85.45%
55
47
8
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _settingsCreate = _interopRequireDefault(require("./settings/settings.create.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _settingsFindAll = _interopRequireDefault(require("./settings/settings.find-all.service")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _settingsFindByName = _interopRequireDefault(require("./settings/settings.find-by-name.service")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 1 var 5
30 /*$lab:coverage:off$*/ 5
31 _settingsUpdateByName = _interopRequireDefault(require("./settings/settings.update-by-name.service")) 5
32 /*$lab:coverage:on$*/ 5
33 ; 5
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 1 module.exports = class SettingsService extends 7
39 /*$lab:coverage:off$*/ 7
40 _schmervice 7
41 /*$lab:coverage:on$*/ 7
42 . 7
43 /*$lab:coverage:off$*/ 7
44 default 7
45 /*$lab:coverage:on$*/ 7
46 .Service { 7
47 async create() { 9
48
return await (
11
49 /*$lab:coverage:off$*/ 11
50 _settingsCreate 11
51 /*$lab:coverage:on$*/ 11
52 . 11
53 /*$lab:coverage:off$*/ 11
54 default 11
55 /*$lab:coverage:on$*/ 11
56 .apply(this, arguments) 11
57
);
11
58 } 12
59
60 async findAll() { 14
61
return await (
16
62 /*$lab:coverage:off$*/ 16
63 _settingsFindAll 16
64 /*$lab:coverage:on$*/ 16
65 . 16
66 /*$lab:coverage:off$*/ 16
67 default 16
68 /*$lab:coverage:on$*/ 16
69 .apply(this, arguments) 16
70
);
16
71 } 17
72
73 async findByName() { 19
74
return await (
21
75 /*$lab:coverage:off$*/ 21
76 _settingsFindByName 21
77 /*$lab:coverage:on$*/ 21
78 . 21
79 /*$lab:coverage:off$*/ 21
80 default 21
81 /*$lab:coverage:on$*/ 21
82 .apply(this, arguments) 21
83
);
21
84 } 22
85
86 async updateByName() { 24
87
return await (
26
88 /*$lab:coverage:off$*/ 26
89 _settingsUpdateByName 26
90 /*$lab:coverage:on$*/ 26
91 . 26
92 /*$lab:coverage:off$*/ 26
93 default 26
94 /*$lab:coverage:on$*/ 26
95 .apply(this, arguments) 26
96
);
26
97 } 27
98
99 }; 7
100

lib/services/webhook.services.js (transformed to lib/services/webhook.services.js)

%
Line Lint Hits Source
1 import Schmervice from 'schmervice';
2 import Create from './webhook/webhook.create.service';
3
4 module.exports = class WebhookService extends Schmervice.Service {
5
6 async create() {
7
8
return await Create.apply(this, arguments);
9 }
10
11 };
12
13
14

lib/services/webhook.services.js

90.91%
22
20
2
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _schmervice = _interopRequireDefault(require("schmervice")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _webhookCreate = _interopRequireDefault(require("./webhook/webhook.create.service")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = class WebhookService extends 4
21 /*$lab:coverage:off$*/ 4
22 _schmervice 4
23 /*$lab:coverage:on$*/ 4
24 . 4
25 /*$lab:coverage:off$*/ 4
26 default 4
27 /*$lab:coverage:on$*/ 4
28 .Service { 4
29 async create() { 6
30
return await (
8
31 /*$lab:coverage:off$*/ 8
32 _webhookCreate 8
33 /*$lab:coverage:on$*/ 8
34 . 8
35 /*$lab:coverage:off$*/ 8
36 default 8
37 /*$lab:coverage:on$*/ 8
38 .apply(this, arguments) 8
39
);
8
40 } 9
41
42 }; 4
43

lib/services/action/action.create.service.js (transformed to lib/services/action/action.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_ACTION } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, agent = null, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const ActionModel = await redis.factory(MODEL_ACTION);
8 try {
9 await ActionModel.createInstance({ data });
10 if (agent) {
11 await agent.link(ActionModel, MODEL_ACTION);
12 await agent.save();
13 }
14 //TODO: Add Action To Keyword
15 return returnModel ? ActionModel : ActionModel.allProperties();
16 }
17 catch (error) {
18 throw RedisErrorHandler({ error });
19 }
20 };
21

lib/services/action/action.create.service.js

78.26%
46
36
10
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 agent = null, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const ActionModel = await redis.factory( 7
29 /*$lab:coverage:off$*/ 7
30 _constants 7
31 /*$lab:coverage:on$*/ 7
32 . 7
33 /*$lab:coverage:off$*/ 7
34 MODEL_ACTION 7
35 /*$lab:coverage:on$*/ 7
36 ); 7
37
38 try { 8
39 await ActionModel.createInstance({ 9
40 data 9
41 }); 9
42
43 if (agent) { 10
44 await agent.link(ActionModel, 11
45 /*$lab:coverage:off$*/ 11
46 _constants 11
47 /*$lab:coverage:on$*/ 11
48 . 11
49 /*$lab:coverage:off$*/ 11
50 MODEL_ACTION 11
51 /*$lab:coverage:on$*/ 11
52 ); 11
53 await agent.save(); 12
54 } //TODO: Add Action To Keyword 14
55
56
57 return returnModel ? ActionModel : ActionModel.allProperties(); 15
58 } catch (error) { 17
59 throw ( 18
60 /*$lab:coverage:off$*/ 18
61 (0, 18
62 /*$lab:coverage:on$*/ 18
63
64 /*$lab:coverage:off$*/ 18
65 _redis 18
66 /*$lab:coverage:on$*/ 18
67 . 18
68 /*$lab:coverage:off$*/ 18
69 default) 18
70 /*$lab:coverage:on$*/ 18
71 ({ 18
72 error 18
73 }) 18
74 ); 18
75 } 19
76 }; 4
77

lib/services/action/action.remove-by-id.service.js (transformed to lib/services/action/action.remove-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_ACTION } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id }) {
5
6
const { redis } = this.server.app;
7 const ActionModel = await redis.factory(MODEL_ACTION);
8 try {
9
10 await ActionModel.findById({ id });
11 return ActionModel.removeById({ id });
12 }
13 catch (error) {
14 throw RedisErrorHandler({ error, message: `${MODEL_ACTION} id=[${id}]` });
15 }
16
17 };
18

lib/services/action/action.remove-by-id.service.js

83.72%
43
36
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id 4
22 }) { 4
23
const {
6
24 redis 6
25
} = this.server.app;
6
26 const ActionModel = await redis.factory( 7
27 /*$lab:coverage:off$*/ 7
28 _constants 7
29 /*$lab:coverage:on$*/ 7
30 . 7
31 /*$lab:coverage:off$*/ 7
32 MODEL_ACTION 7
33 /*$lab:coverage:on$*/ 7
34 ); 7
35
36 try { 8
37 await ActionModel.findById({ 10
38 id 10
39 }); 10
40 return ActionModel.removeById({ 11
41 id 11
42 }); 11
43 } catch (error) { 13
44 throw ( 14
45 /*$lab:coverage:off$*/ 14
46 (0, 14
47 /*$lab:coverage:on$*/ 14
48
49 /*$lab:coverage:off$*/ 14
50 _redis 14
51 /*$lab:coverage:on$*/ 14
52 . 14
53 /*$lab:coverage:off$*/ 14
54 default) 14
55 /*$lab:coverage:on$*/ 14
56 ({ 14
57 error, 14
58 message: `${ 14
59 /*$lab:coverage:off$*/ 14
60 _constants 14
61 /*$lab:coverage:on$*/ 14
62 . 14
63 /*$lab:coverage:off$*/ 14
64 MODEL_ACTION 14
65 /*$lab:coverage:on$*/ 14
66 } id=[${id}]` 14
67 }) 14
68 ); 14
69 } 15
70 }; 4
71

lib/services/agent/agent.create-action.service.js (transformed to lib/services/agent/agent.create-action.service.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id, actionData, returnModel = false }) {
5
6
const { globalService, actionService } = await this.server.services();
7
8 try {
9 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
10 return await actionService.create({ data: actionData, agent, returnModel });
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/agent/agent.create-action.service.js

86.36%
44
38
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id, 4
22 actionData, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 globalService, 6
27 actionService 6
28
} = await this.server.services();
6
29
30 try { 8
31 const agent = await globalService.findById({ 9
32 id, 9
33 model: 9
34 /*$lab:coverage:off$*/ 9
35 _constants 9
36 /*$lab:coverage:on$*/ 9
37 . 9
38 /*$lab:coverage:off$*/ 9
39 MODEL_AGENT 9
40 /*$lab:coverage:on$*/ 9
41 , 9
42 returnModel: true 9
43 }); 9
44 return await actionService.create({ 10
45 data: actionData, 10
46 agent, 10
47 returnModel 10
48 }); 10
49 } catch (error) { 12
50 throw ( 13
51 /*$lab:coverage:off$*/ 13
52 (0, 13
53 /*$lab:coverage:on$*/ 13
54
55 /*$lab:coverage:off$*/ 13
56 _redis 13
57 /*$lab:coverage:on$*/ 13
58 . 13
59 /*$lab:coverage:off$*/ 13
60 default) 13
61 /*$lab:coverage:on$*/ 13
62 ({ 13
63 error 13
64 }) 13
65 ); 13
66 } 14
67 }; 4
68

lib/services/agent/agent.create-category.service.js (transformed to lib/services/agent/agent.create-category.service.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id, categoryData, returnModel = false }) {
5
6
const { globalService, categoryService } = await this.server.services();
7
8 try {
9 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
10 return await categoryService.create({ data: categoryData, agent, returnModel });
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/agent/agent.create-category.service.js

86.36%
44
38
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id, 4
22 categoryData, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 globalService, 6
27 categoryService 6
28
} = await this.server.services();
6
29
30 try { 8
31 const agent = await globalService.findById({ 9
32 id, 9
33 model: 9
34 /*$lab:coverage:off$*/ 9
35 _constants 9
36 /*$lab:coverage:on$*/ 9
37 . 9
38 /*$lab:coverage:off$*/ 9
39 MODEL_AGENT 9
40 /*$lab:coverage:on$*/ 9
41 , 9
42 returnModel: true 9
43 }); 9
44 return await categoryService.create({ 10
45 data: categoryData, 10
46 agent, 10
47 returnModel 10
48 }); 10
49 } catch (error) { 12
50 throw ( 13
51 /*$lab:coverage:off$*/ 13
52 (0, 13
53 /*$lab:coverage:on$*/ 13
54
55 /*$lab:coverage:off$*/ 13
56 _redis 13
57 /*$lab:coverage:on$*/ 13
58 . 13
59 /*$lab:coverage:off$*/ 13
60 default) 13
61 /*$lab:coverage:on$*/ 13
62 ({ 13
63 error 13
64 }) 13
65 ); 13
66 } 14
67 }; 4
68

lib/services/agent/agent.create-keyword.service.js (transformed to lib/services/agent/agent.create-keyword.service.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id, keywordData, returnModel = false }) {
5
6
const { globalService, keywordService } = await this.server.services();
7
8 try {
9 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
10 return await keywordService.create({ data: keywordData, agent, returnModel });
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/agent/agent.create-keyword.service.js

86.36%
44
38
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id, 4
22 keywordData, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 globalService, 6
27 keywordService 6
28
} = await this.server.services();
6
29
30 try { 8
31 const agent = await globalService.findById({ 9
32 id, 9
33 model: 9
34 /*$lab:coverage:off$*/ 9
35 _constants 9
36 /*$lab:coverage:on$*/ 9
37 . 9
38 /*$lab:coverage:off$*/ 9
39 MODEL_AGENT 9
40 /*$lab:coverage:on$*/ 9
41 , 9
42 returnModel: true 9
43 }); 9
44 return await keywordService.create({ 10
45 data: keywordData, 10
46 agent, 10
47 returnModel 10
48 }); 10
49 } catch (error) { 12
50 throw ( 13
51 /*$lab:coverage:off$*/ 13
52 (0, 13
53 /*$lab:coverage:on$*/ 13
54
55 /*$lab:coverage:off$*/ 13
56 _redis 13
57 /*$lab:coverage:on$*/ 13
58 . 13
59 /*$lab:coverage:off$*/ 13
60 default) 13
61 /*$lab:coverage:on$*/ 13
62 ({ 13
63 error 13
64 }) 13
65 ); 13
66 } 14
67 }; 4
68

lib/services/agent/agent.create-post-format-in-action.service.js (transformed to lib/services/agent/agent.create-post-format-in-action.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_ACTION,
3 MODEL_AGENT,
4 MODEL_POST_FORMAT
5 } from '../../../util/constants';
6 import RedisErrorHandler from '../../errors/redis.error-handler';
7 import RedisOnlyOneLinkedError from '../../errors/redis.only-one-linked-error';
8
9 module.exports = async function ({ id, actionId, postFormatData, returnModel = false }) {
10
11
const { globalService, postFormatService } = await this.server.services();
12
13 try {
14 const modelPath = [
15 { model: MODEL_AGENT, id },
16 { model: MODEL_ACTION, id: actionId }
17 ];
18 const actionModel = await globalService.findInModelPath({ modelPath, returnModel: true });
19 const children = await actionModel.getAll(MODEL_POST_FORMAT, MODEL_POST_FORMAT);
20 if (children.length > 0) {
21 return Promise.reject(RedisOnlyOneLinkedError({
22 mainType: MODEL_ACTION,
23 mainId: actionId,
24 subType: MODEL_POST_FORMAT
25 }));
26 }
27 return await postFormatService.create({
28 data: postFormatData,
29 parent: actionModel,
30 returnModel
31 });
32 }
33 catch (error) {
34 throw RedisErrorHandler({ error });
35 }
36 };
37

lib/services/agent/agent.create-post-format-in-action.service.js

88.37%
86
76
10
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 6
12 /*$lab:coverage:off$*/ 6
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 6
14 /*$lab:coverage:on$*/ 6
15 ; 6
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _redis2 = _interopRequireDefault(require("../../errors/redis.only-one-linked-error")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 9
27 id, 9
28 actionId, 9
29 postFormatData, 9
30 returnModel = false 9
31 }) { 9
32
const {
11
33 globalService, 11
34 postFormatService 11
35
} = await this.server.services();
11
36
37 try { 13
38 const modelPath = [{ 15
39 model: 15
40 /*$lab:coverage:off$*/ 15
41 _constants 15
42 /*$lab:coverage:on$*/ 15
43 . 15
44 /*$lab:coverage:off$*/ 15
45 MODEL_AGENT 15
46 /*$lab:coverage:on$*/ 15
47 , 15
48 id 15
49 }, { 16
50 model: 16
51 /*$lab:coverage:off$*/ 16
52 _constants 16
53 /*$lab:coverage:on$*/ 16
54 . 16
55 /*$lab:coverage:off$*/ 16
56 MODEL_ACTION 16
57 /*$lab:coverage:on$*/ 16
58 , 16
59 id: actionId 16
60 }]; 14
61 const actionModel = await globalService.findInModelPath({ 18
62 modelPath, 18
63 returnModel: true 18
64 }); 18
65 const children = await actionModel.getAll( 19
66 /*$lab:coverage:off$*/ 19
67 _constants 19
68 /*$lab:coverage:on$*/ 19
69 . 19
70 /*$lab:coverage:off$*/ 19
71 MODEL_POST_FORMAT 19
72 /*$lab:coverage:on$*/ 19
73 , 19
74 /*$lab:coverage:off$*/ 19
75 _constants 19
76 /*$lab:coverage:on$*/ 19
77 . 19
78 /*$lab:coverage:off$*/ 19
79 MODEL_POST_FORMAT 19
80 /*$lab:coverage:on$*/ 19
81 ); 19
82
83 if (children.length > 0) { 20
84 return Promise.reject( 21
85 /*$lab:coverage:off$*/ 21
86 (0, 21
87 /*$lab:coverage:on$*/ 21
88
89 /*$lab:coverage:off$*/ 21
90 _redis2 21
91 /*$lab:coverage:on$*/ 21
92 . 21
93 /*$lab:coverage:off$*/ 21
94 default) 21
95 /*$lab:coverage:on$*/ 21
96 ({ 21
97 mainType: 22
98 /*$lab:coverage:off$*/ 22
99 _constants 22
100 /*$lab:coverage:on$*/ 22
101 . 22
102 /*$lab:coverage:off$*/ 22
103 MODEL_ACTION 22
104 /*$lab:coverage:on$*/ 21
105 , 21
106 mainId: actionId, 21
107 subType: 24
108 /*$lab:coverage:off$*/ 24
109 _constants 24
110 /*$lab:coverage:on$*/ 24
111 . 24
112 /*$lab:coverage:off$*/ 24
113 MODEL_POST_FORMAT 24
114
115 /*$lab:coverage:on$*/ 21
116 })); 21
117 } 26
118
119 return await postFormatService.create({ 27
120 data: postFormatData, 27
121 parent: actionModel, 27
122 returnModel 30
123 }); 27
124 } catch (error) { 33
125 throw ( 34
126 /*$lab:coverage:off$*/ 34
127 (0, 34
128 /*$lab:coverage:on$*/ 34
129
130 /*$lab:coverage:off$*/ 34
131 _redis 34
132 /*$lab:coverage:on$*/ 34
133 . 34
134 /*$lab:coverage:off$*/ 34
135 default) 34
136 /*$lab:coverage:on$*/ 34
137 ({ 34
138 error 34
139 }) 34
140 ); 34
141 } 35
142 }; 9
143

lib/services/agent/agent.create-post-format.service.js (transformed to lib/services/agent/agent.create-post-format.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_POST_FORMAT
4 } from '../../../util/constants';
5 import RedisErrorHandler from '../../errors/redis.error-handler';
6 import RedisOnlyOneLinkedError from '../../errors/redis.only-one-linked-error';
7
8 module.exports = async function ({ id, postFormatData, returnModel = false }) {
9
10
const { globalService, postFormatService } = await this.server.services();
11
12 try {
13 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
14 const children = await agent.getAll(MODEL_POST_FORMAT, MODEL_POST_FORMAT);
15 if (children.length > 0) {
16 return Promise.reject(RedisOnlyOneLinkedError({
17 mainType: MODEL_AGENT,
18 mainId: id,
19 subType: MODEL_POST_FORMAT
20 }));
21 }
22 return await postFormatService.create({
23 data: postFormatData,
24 parent: agent,
25 returnModel
26 });
27 }
28 catch (error) {
29 throw RedisErrorHandler({ error });
30 }
31 };
32

lib/services/agent/agent.create-post-format.service.js

88%
75
66
9
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _redis2 = _interopRequireDefault(require("../../errors/redis.only-one-linked-error")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 8
27 id, 8
28 postFormatData, 8
29 returnModel = false 8
30 }) { 8
31
const {
10
32 globalService, 10
33 postFormatService 10
34
} = await this.server.services();
10
35
36 try { 12
37 const agent = await globalService.findById({ 13
38 id, 13
39 model: 13
40 /*$lab:coverage:off$*/ 13
41 _constants 13
42 /*$lab:coverage:on$*/ 13
43 . 13
44 /*$lab:coverage:off$*/ 13
45 MODEL_AGENT 13
46 /*$lab:coverage:on$*/ 13
47 , 13
48 returnModel: true 13
49 }); 13
50 const children = await agent.getAll( 14
51 /*$lab:coverage:off$*/ 14
52 _constants 14
53 /*$lab:coverage:on$*/ 14
54 . 14
55 /*$lab:coverage:off$*/ 14
56 MODEL_POST_FORMAT 14
57 /*$lab:coverage:on$*/ 14
58 , 14
59 /*$lab:coverage:off$*/ 14
60 _constants 14
61 /*$lab:coverage:on$*/ 14
62 . 14
63 /*$lab:coverage:off$*/ 14
64 MODEL_POST_FORMAT 14
65 /*$lab:coverage:on$*/ 14
66 ); 14
67
68 if (children.length > 0) { 15
69 return Promise.reject( 16
70 /*$lab:coverage:off$*/ 16
71 (0, 16
72 /*$lab:coverage:on$*/ 16
73
74 /*$lab:coverage:off$*/ 16
75 _redis2 16
76 /*$lab:coverage:on$*/ 16
77 . 16
78 /*$lab:coverage:off$*/ 16
79 default) 16
80 /*$lab:coverage:on$*/ 16
81 ({ 16
82 mainType: 17
83 /*$lab:coverage:off$*/ 17
84 _constants 17
85 /*$lab:coverage:on$*/ 17
86 . 17
87 /*$lab:coverage:off$*/ 17
88 MODEL_AGENT 17
89 /*$lab:coverage:on$*/ 16
90 , 16
91 mainId: id, 16
92 subType: 19
93 /*$lab:coverage:off$*/ 19
94 _constants 19
95 /*$lab:coverage:on$*/ 19
96 . 19
97 /*$lab:coverage:off$*/ 19
98 MODEL_POST_FORMAT 19
99
100 /*$lab:coverage:on$*/ 16
101 })); 16
102 } 21
103
104 return await postFormatService.create({ 22
105 data: postFormatData, 22
106 parent: agent, 22
107 returnModel 25
108 }); 22
109 } catch (error) { 28
110 throw ( 29
111 /*$lab:coverage:off$*/ 29
112 (0, 29
113 /*$lab:coverage:on$*/ 29
114
115 /*$lab:coverage:off$*/ 29
116 _redis 29
117 /*$lab:coverage:on$*/ 29
118 . 29
119 /*$lab:coverage:off$*/ 29
120 default) 29
121 /*$lab:coverage:on$*/ 29
122 ({ 29
123 error 29
124 }) 29
125 ); 29
126 } 30
127 }; 8
128

lib/services/agent/agent.create-webhook-in-action.service.js (transformed to lib/services/agent/agent.create-webhook-in-action.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_ACTION,
3 MODEL_AGENT,
4 MODEL_WEBHOOK
5 } from '../../../util/constants';
6 import RedisErrorHandler from '../../errors/redis.error-handler';
7 import RedisOnlyOneLinkedError from '../../errors/redis.only-one-linked-error';
8
9 module.exports = async function ({ id, actionId, webhookData, returnModel = false }) {
10
11
const { globalService, webhookService } = await this.server.services();
12
13 try {
14 const modelPath = [
15 { model: MODEL_AGENT, id },
16 { model: MODEL_ACTION, id: actionId }
17 ];
18 const actionModel = await globalService.findInModelPath({ modelPath, findById: true, returnModel: true });
19 const children = await actionModel.getAll(MODEL_WEBHOOK, MODEL_WEBHOOK);
20 if (children.length > 0) {
21 return Promise.reject(RedisOnlyOneLinkedError({
22 mainType: MODEL_ACTION,
23 mainId: actionId,
24 subType: MODEL_WEBHOOK
25 }));
26 }
27 return await webhookService.create({
28 data: webhookData,
29 parent: actionModel,
30 returnModel
31 });
32 }
33 catch (error) {
34 throw RedisErrorHandler({ error });
35 }
36 };
37

lib/services/agent/agent.create-webhook-in-action.service.js

88.51%
87
77
10
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 6
12 /*$lab:coverage:off$*/ 6
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 6
14 /*$lab:coverage:on$*/ 6
15 ; 6
16
17 1 var 7
18 /*$lab:coverage:off$*/ 7
19 _redis2 = _interopRequireDefault(require("../../errors/redis.only-one-linked-error")) 7
20 /*$lab:coverage:on$*/ 7
21 ; 7
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 9
27 id, 9
28 actionId, 9
29 webhookData, 9
30 returnModel = false 9
31 }) { 9
32
const {
11
33 globalService, 11
34 webhookService 11
35
} = await this.server.services();
11
36
37 try { 13
38 const modelPath = [{ 15
39 model: 15
40 /*$lab:coverage:off$*/ 15
41 _constants 15
42 /*$lab:coverage:on$*/ 15
43 . 15
44 /*$lab:coverage:off$*/ 15
45 MODEL_AGENT 15
46 /*$lab:coverage:on$*/ 15
47 , 15
48 id 15
49 }, { 16
50 model: 16
51 /*$lab:coverage:off$*/ 16
52 _constants 16
53 /*$lab:coverage:on$*/ 16
54 . 16
55 /*$lab:coverage:off$*/ 16
56 MODEL_ACTION 16
57 /*$lab:coverage:on$*/ 16
58 , 16
59 id: actionId 16
60 }]; 14
61 const actionModel = await globalService.findInModelPath({ 18
62 modelPath, 18
63 findById: true, 18
64 returnModel: true 18
65 }); 18
66 const children = await actionModel.getAll( 19
67 /*$lab:coverage:off$*/ 19
68 _constants 19
69 /*$lab:coverage:on$*/ 19
70 . 19
71 /*$lab:coverage:off$*/ 19
72 MODEL_WEBHOOK 19
73 /*$lab:coverage:on$*/ 19
74 , 19
75 /*$lab:coverage:off$*/ 19
76 _constants 19
77 /*$lab:coverage:on$*/ 19
78 . 19
79 /*$lab:coverage:off$*/ 19
80 MODEL_WEBHOOK 19
81 /*$lab:coverage:on$*/ 19
82 ); 19
83
84 if (children.length > 0) { 20
85 return Promise.reject( 21
86 /*$lab:coverage:off$*/ 21
87 (0, 21
88 /*$lab:coverage:on$*/ 21
89
90 /*$lab:coverage:off$*/ 21
91 _redis2 21
92 /*$lab:coverage:on$*/ 21
93 . 21
94 /*$lab:coverage:off$*/ 21
95 default) 21
96 /*$lab:coverage:on$*/ 21
97 ({ 21
98 mainType: 22
99 /*$lab:coverage:off$*/ 22
100 _constants 22
101 /*$lab:coverage:on$*/ 22
102 . 22
103 /*$lab:coverage:off$*/ 22
104 MODEL_ACTION 22
105 /*$lab:coverage:on$*/ 21
106 , 21
107 mainId: actionId, 21
108 subType: 24
109 /*$lab:coverage:off$*/ 24
110 _constants 24
111 /*$lab:coverage:on$*/ 24
112 . 24
113 /*$lab:coverage:off$*/ 24
114 MODEL_WEBHOOK 24
115
116 /*$lab:coverage:on$*/ 21
117 })); 21
118 } 26
119
120 return await webhookService.create({ 27
121 data: webhookData, 27
122 parent: actionModel, 27
123 returnModel 30
124 }); 27
125 } catch (error) { 33
126 throw ( 34
127 /*$lab:coverage:off$*/ 34
128 (0, 34
129 /*$lab:coverage:on$*/ 34
130
131 /*$lab:coverage:off$*/ 34
132 _redis 34
133 /*$lab:coverage:on$*/ 34
134 . 34
135 /*$lab:coverage:off$*/ 34
136 default) 34
137 /*$lab:coverage:on$*/ 34
138 ({ 34
139 error 34
140 }) 34
141 ); 34
142 } 35
143 }; 9
144

lib/services/agent/agent.create-webhook.service.js (transformed to lib/services/agent/agent.create-webhook.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_WEBHOOK
4 } from '../../../util/constants';
5 import RedisErrorHandler from '../../errors/redis.error-handler';
6 import RedisOnlyOneLinkedError from '../../errors/redis.only-one-linked-error';
7
8 module.exports = async function ({ id, webhookData, returnModel = false }) {
9
10
const { globalService, webhookService } = await this.server.services();
11
12 try {
13 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
14 const children = await agent.getAll(MODEL_WEBHOOK, MODEL_WEBHOOK);
15 if (children.length > 0) {
16 return Promise.reject(RedisOnlyOneLinkedError({
17 mainType: MODEL_AGENT,
18 mainId: id,
19 subType: MODEL_WEBHOOK
20 }));
21 }
22 return await webhookService.create({
23 data: webhookData,
24 parent: agent,
25 returnModel
26 });
27 }
28 catch (error) {
29 throw RedisErrorHandler({ error });
30 }
31 };
32

lib/services/agent/agent.create-webhook.service.js

88%
75
66
9
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _redis2 = _interopRequireDefault(require("../../errors/redis.only-one-linked-error")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 8
27 id, 8
28 webhookData, 8
29 returnModel = false 8
30 }) { 8
31
const {
10
32 globalService, 10
33 webhookService 10
34
} = await this.server.services();
10
35
36 try { 12
37 const agent = await globalService.findById({ 13
38 id, 13
39 model: 13
40 /*$lab:coverage:off$*/ 13
41 _constants 13
42 /*$lab:coverage:on$*/ 13
43 . 13
44 /*$lab:coverage:off$*/ 13
45 MODEL_AGENT 13
46 /*$lab:coverage:on$*/ 13
47 , 13
48 returnModel: true 13
49 }); 13
50 const children = await agent.getAll( 14
51 /*$lab:coverage:off$*/ 14
52 _constants 14
53 /*$lab:coverage:on$*/ 14
54 . 14
55 /*$lab:coverage:off$*/ 14
56 MODEL_WEBHOOK 14
57 /*$lab:coverage:on$*/ 14
58 , 14
59 /*$lab:coverage:off$*/ 14
60 _constants 14
61 /*$lab:coverage:on$*/ 14
62 . 14
63 /*$lab:coverage:off$*/ 14
64 MODEL_WEBHOOK 14
65 /*$lab:coverage:on$*/ 14
66 ); 14
67
68 if (children.length > 0) { 15
69 return Promise.reject( 16
70 /*$lab:coverage:off$*/ 16
71 (0, 16
72 /*$lab:coverage:on$*/ 16
73
74 /*$lab:coverage:off$*/ 16
75 _redis2 16
76 /*$lab:coverage:on$*/ 16
77 . 16
78 /*$lab:coverage:off$*/ 16
79 default) 16
80 /*$lab:coverage:on$*/ 16
81 ({ 16
82 mainType: 17
83 /*$lab:coverage:off$*/ 17
84 _constants 17
85 /*$lab:coverage:on$*/ 17
86 . 17
87 /*$lab:coverage:off$*/ 17
88 MODEL_AGENT 17
89 /*$lab:coverage:on$*/ 16
90 , 16
91 mainId: id, 16
92 subType: 19
93 /*$lab:coverage:off$*/ 19
94 _constants 19
95 /*$lab:coverage:on$*/ 19
96 . 19
97 /*$lab:coverage:off$*/ 19
98 MODEL_WEBHOOK 19
99
100 /*$lab:coverage:on$*/ 16
101 })); 16
102 } 21
103
104 return await webhookService.create({ 22
105 data: webhookData, 22
106 parent: agent, 22
107 returnModel 25
108 }); 22
109 } catch (error) { 28
110 throw ( 29
111 /*$lab:coverage:off$*/ 29
112 (0, 29
113 /*$lab:coverage:on$*/ 29
114
115 /*$lab:coverage:off$*/ 29
116 _redis 29
117 /*$lab:coverage:on$*/ 29
118 . 29
119 /*$lab:coverage:off$*/ 29
120 default) 29
121 /*$lab:coverage:on$*/ 29
122 ({ 29
123 error 29
124 }) 29
125 ); 29
126 } 30
127 }; 8
128

lib/services/agent/agent.create.service.js (transformed to lib/services/agent/agent.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const AgentModel = await redis.factory(MODEL_AGENT);
8 try {
9 await AgentModel.createInstance({ data });
10 return returnModel ? AgentModel : AgentModel.allProperties();
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/agent/agent.create.service.js

81.08%
37
30
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 returnModel = false 4
23 }) { 4
24
const {
6
25 redis 6
26
} = this.server.app;
6
27 const AgentModel = await redis.factory( 7
28 /*$lab:coverage:off$*/ 7
29 _constants 7
30 /*$lab:coverage:on$*/ 7
31 . 7
32 /*$lab:coverage:off$*/ 7
33 MODEL_AGENT 7
34 /*$lab:coverage:on$*/ 7
35 ); 7
36
37 try { 8
38 await AgentModel.createInstance({ 9
39 data 9
40 }); 9
41 return returnModel ? AgentModel : AgentModel.allProperties(); 10
42 } catch (error) { 12
43 throw ( 13
44 /*$lab:coverage:off$*/ 13
45 (0, 13
46 /*$lab:coverage:on$*/ 13
47
48 /*$lab:coverage:off$*/ 13
49 _redis 13
50 /*$lab:coverage:on$*/ 13
51 . 13
52 /*$lab:coverage:off$*/ 13
53 default) 13
54 /*$lab:coverage:on$*/ 13
55 ({ 13
56 error 13
57 }) 13
58 ); 13
59 } 14
60 }; 4
61

lib/services/agent/agent.find-all-category.service.js (transformed to lib/services/agent/agent.find-all-category.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_CATEGORY
4 } from '../../../util/constants';
5 import RedisErrorHandler from '../../errors/redis.error-handler';
6
7 module.exports = async function ({ id }) {
8
9
const { globalService, categoryService } = await this.server.services();
10 try {
11
12 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
13 const categoryIds = await agent.getAll(MODEL_CATEGORY, MODEL_CATEGORY);
14 return await categoryService.findAllByIds({ ids: categoryIds });
15 }
16 catch (error) {
17 throw RedisErrorHandler({ error });
18 }
19 };
20

lib/services/agent/agent.find-all-category.service.js

85.71%
49
42
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 7
21 id 7
22 }) { 7
23
const {
9
24 globalService, 9
25 categoryService 9
26
} = await this.server.services();
9
27
28 try { 10
29 const agent = await globalService.findById({ 12
30 id, 12
31 model: 12
32 /*$lab:coverage:off$*/ 12
33 _constants 12
34 /*$lab:coverage:on$*/ 12
35 . 12
36 /*$lab:coverage:off$*/ 12
37 MODEL_AGENT 12
38 /*$lab:coverage:on$*/ 12
39 , 12
40 returnModel: true 12
41 }); 12
42 const categoryIds = await agent.getAll( 13
43 /*$lab:coverage:off$*/ 13
44 _constants 13
45 /*$lab:coverage:on$*/ 13
46 . 13
47 /*$lab:coverage:off$*/ 13
48 MODEL_CATEGORY 13
49 /*$lab:coverage:on$*/ 13
50 , 13
51 /*$lab:coverage:off$*/ 13
52 _constants 13
53 /*$lab:coverage:on$*/ 13
54 . 13
55 /*$lab:coverage:off$*/ 13
56 MODEL_CATEGORY 13
57 /*$lab:coverage:on$*/ 13
58 ); 13
59 return await categoryService.findAllByIds({ 14
60 ids: categoryIds 14
61 }); 14
62 } catch (error) { 16
63 throw ( 17
64 /*$lab:coverage:off$*/ 17
65 (0, 17
66 /*$lab:coverage:on$*/ 17
67
68 /*$lab:coverage:off$*/ 17
69 _redis 17
70 /*$lab:coverage:on$*/ 17
71 . 17
72 /*$lab:coverage:off$*/ 17
73 default) 17
74 /*$lab:coverage:on$*/ 17
75 ({ 17
76 error 17
77 }) 17
78 ); 17
79 } 18
80 }; 7
81

lib/services/agent/agent.find-category-by-id.service.js (transformed to lib/services/agent/agent.find-category-by-id.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_CATEGORY
4 } from '../../../util/constants';
5 import RedisErrorHandler from '../../errors/redis.error-handler';
6 import RedisNotLinkedError from '../../errors/redis.not-linked-error';
7
8 module.exports = async function ({ agentId, categoryId, returnModel = false }) {
9
10
const { redis } = this.server.app;
11 let belongs = true;
12 try {
13 const AgentModel = await redis.factory(MODEL_AGENT, agentId);
14 const CategoryModel = await redis.factory(MODEL_CATEGORY, categoryId);
15 belongs = await AgentModel.belongsTo(CategoryModel, MODEL_CATEGORY);
16 if (belongs) {
17 return returnModel ? CategoryModel : CategoryModel.allProperties();
18 }
19 return Promise.reject(RedisNotLinkedError({
20 mainType: MODEL_AGENT,
21 mainId: agentId,
22 subType: MODEL_CATEGORY,
23 subId: categoryId
24 }));
25 }
26 catch (error) {
27 throw RedisErrorHandler({ error, message: `Agent id=[${agentId}]` });
28 }
29
30 };
31

lib/services/agent/agent.find-category-by-id.service.js

84.51%
71
60
11
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _redis2 = _interopRequireDefault(require("../../errors/redis.not-linked-error")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 8
27 agentId, 8
28 categoryId, 8
29 returnModel = false 8
30 }) { 8
31
const {
10
32 redis 10
33
} = this.server.app;
10
34 let belongs = true; 11
35
36 try { 12
37 const AgentModel = await redis.factory( 13
38 /*$lab:coverage:off$*/ 13
39 _constants 13
40 /*$lab:coverage:on$*/ 13
41 . 13
42 /*$lab:coverage:off$*/ 13
43 MODEL_AGENT 13
44 /*$lab:coverage:on$*/ 13
45 , agentId); 13
46 const CategoryModel = await redis.factory( 14
47 /*$lab:coverage:off$*/ 14
48 _constants 14
49 /*$lab:coverage:on$*/ 14
50 . 14
51 /*$lab:coverage:off$*/ 14
52 MODEL_CATEGORY 14
53 /*$lab:coverage:on$*/ 14
54 , categoryId); 14
55 belongs = await AgentModel.belongsTo(CategoryModel, 15
56 /*$lab:coverage:off$*/ 15
57 _constants 15
58 /*$lab:coverage:on$*/ 15
59 . 15
60 /*$lab:coverage:off$*/ 15
61 MODEL_CATEGORY 15
62 /*$lab:coverage:on$*/ 15
63 ); 15
64
65 if (belongs) { 16
66 return returnModel ? CategoryModel : CategoryModel.allProperties(); 17
67 } 18
68
69 return Promise.reject( 19
70 /*$lab:coverage:off$*/ 19
71 (0, 19
72 /*$lab:coverage:on$*/ 19
73
74 /*$lab:coverage:off$*/ 19
75 _redis2 19
76 /*$lab:coverage:on$*/ 19
77 . 19
78 /*$lab:coverage:off$*/ 19
79 default) 19
80 /*$lab:coverage:on$*/ 19
81 ({ 19
82 mainType: 20
83 /*$lab:coverage:off$*/ 20
84 _constants 20
85 /*$lab:coverage:on$*/ 20
86 . 20
87 /*$lab:coverage:off$*/ 20
88 MODEL_AGENT 20
89 /*$lab:coverage:on$*/ 19
90 , 19
91 mainId: agentId, 19
92 subType: 22
93 /*$lab:coverage:off$*/ 22
94 _constants 22
95 /*$lab:coverage:on$*/ 22
96 . 22
97 /*$lab:coverage:off$*/ 22
98 MODEL_CATEGORY 22
99 /*$lab:coverage:on$*/ 19
100 , 19
101 subId: categoryId 23
102 })); 19
103 } catch (error) { 26
104 throw ( 27
105 /*$lab:coverage:off$*/ 27
106 (0, 27
107 /*$lab:coverage:on$*/ 27
108
109 /*$lab:coverage:off$*/ 27
110 _redis 27
111 /*$lab:coverage:on$*/ 27
112 . 27
113 /*$lab:coverage:off$*/ 27
114 default) 27
115 /*$lab:coverage:on$*/ 27
116 ({ 27
117 error, 27
118 message: `Agent id=[${agentId}]` 27
119 }) 27
120 ); 27
121 } 28
122 }; 8
123

lib/services/agent/agent.find-post-format.service.js (transformed to lib/services/agent/agent.find-post-format.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_POST_FORMAT
4 } from '../../../util/constants';
5 import NotFoundError from '../../errors/global.not-found-error';
6 import RedisErrorHandler from '../../errors/redis.error-handler';
7
8 module.exports = async function ({ id, returnModel = false }) {
9
10
const { globalService } = await this.server.services();
11 try {
12
13 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
14 const ids = await agent.getAll(MODEL_POST_FORMAT, MODEL_POST_FORMAT);
15 const postFormat = await globalService.findById({ id: ids[0], model: MODEL_POST_FORMAT, returnModel: true });
16 if (postFormat.inDb) {
17 return returnModel ? postFormat : postFormat.allProperties();
18 }
19 return Promise.reject(NotFoundError({ model: MODEL_POST_FORMAT }));
20 }
21 catch (error) {
22 throw RedisErrorHandler({ error });
23 }
24 };
25

lib/services/agent/agent.find-post-format.service.js

86.11%
72
62
10
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _global = _interopRequireDefault(require("../../errors/global.not-found-error")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 8
27 id, 8
28 returnModel = false 8
29 }) { 8
30
const {
10
31 globalService 10
32
} = await this.server.services();
10
33
34 try { 11
35 const agent = await globalService.findById({ 13
36 id, 13
37 model: 13
38 /*$lab:coverage:off$*/ 13
39 _constants 13
40 /*$lab:coverage:on$*/ 13
41 . 13
42 /*$lab:coverage:off$*/ 13
43 MODEL_AGENT 13
44 /*$lab:coverage:on$*/ 13
45 , 13
46 returnModel: true 13
47 }); 13
48 const ids = await agent.getAll( 14
49 /*$lab:coverage:off$*/ 14
50 _constants 14
51 /*$lab:coverage:on$*/ 14
52 . 14
53 /*$lab:coverage:off$*/ 14
54 MODEL_POST_FORMAT 14
55 /*$lab:coverage:on$*/ 14
56 , 14
57 /*$lab:coverage:off$*/ 14
58 _constants 14
59 /*$lab:coverage:on$*/ 14
60 . 14
61 /*$lab:coverage:off$*/ 14
62 MODEL_POST_FORMAT 14
63 /*$lab:coverage:on$*/ 14
64 ); 14
65 const postFormat = await globalService.findById({ 15
66 id: ids[0], 15
67 model: 15
68 /*$lab:coverage:off$*/ 15
69 _constants 15
70 /*$lab:coverage:on$*/ 15
71 . 15
72 /*$lab:coverage:off$*/ 15
73 MODEL_POST_FORMAT 15
74 /*$lab:coverage:on$*/ 15
75 , 15
76 returnModel: true 15
77 }); 15
78
79 if (postFormat.inDb) { 16
80 return returnModel ? postFormat : postFormat.allProperties(); 17
81 } 18
82
83 return Promise.reject( 19
84 /*$lab:coverage:off$*/ 19
85 (0, 19
86 /*$lab:coverage:on$*/ 19
87
88 /*$lab:coverage:off$*/ 19
89 _global 19
90 /*$lab:coverage:on$*/ 19
91 . 19
92 /*$lab:coverage:off$*/ 19
93 default) 19
94 /*$lab:coverage:on$*/ 19
95 ({ 19
96 model: 19
97 /*$lab:coverage:off$*/ 19
98 _constants 19
99 /*$lab:coverage:on$*/ 19
100 . 19
101 /*$lab:coverage:off$*/ 19
102 MODEL_POST_FORMAT 19
103
104 /*$lab:coverage:on$*/ 19
105 })); 19
106 } catch (error) { 21
107 throw ( 22
108 /*$lab:coverage:off$*/ 22
109 (0, 22
110 /*$lab:coverage:on$*/ 22
111
112 /*$lab:coverage:off$*/ 22
113 _redis 22
114 /*$lab:coverage:on$*/ 22
115 . 22
116 /*$lab:coverage:off$*/ 22
117 default) 22
118 /*$lab:coverage:on$*/ 22
119 ({ 22
120 error 22
121 }) 22
122 ); 22
123 } 23
124 }; 8
125

lib/services/agent/agent.remove-by-id.service.js (transformed to lib/services/agent/agent.remove-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id }) {
5
6
const { redis } = this.server.app;
7 const Agent = await redis.factory(MODEL_AGENT);
8 try {
9 //TODO: Delete Saying
10 //TODO: Delete Scenario
11 //TODO: Delete Categories
12 //TODO: Delete Category Sayings
13 //TODO: Delete Category Keywords
14 //TODO: Delete Keyword
15 //TODO: Delete Keyword Category
16 //TODO: Delete agentCategoryRecognizer
17
18 await Agent.findById({ id });
19 return Agent.removeById({ id });
20 }
21 catch (error) {
22 throw RedisErrorHandler({ error, message: `Agent id=[${id}]` });
23 }
24
25 };
26

lib/services/agent/agent.remove-by-id.service.js

82.05%
39
32
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id 4
22 }) { 4
23
const {
6
24 redis 6
25
} = this.server.app;
6
26 const Agent = await redis.factory( 7
27 /*$lab:coverage:off$*/ 7
28 _constants 7
29 /*$lab:coverage:on$*/ 7
30 . 7
31 /*$lab:coverage:off$*/ 7
32 MODEL_AGENT 7
33 /*$lab:coverage:on$*/ 7
34 ); 7
35
36 try { 8
37 //TODO: Delete Saying 9
38 //TODO: Delete Scenario 10
39 //TODO: Delete Categories 11
40 //TODO: Delete Category Sayings 12
41 //TODO: Delete Category Keywords 13
42 //TODO: Delete Keyword 14
43 //TODO: Delete Keyword Category 15
44 //TODO: Delete agentCategoryRecognizer 16
45 await Agent.findById({ 18
46 id 18
47 }); 18
48 return Agent.removeById({ 19
49 id 19
50 }); 19
51 } catch (error) { 21
52 throw ( 22
53 /*$lab:coverage:off$*/ 22
54 (0, 22
55 /*$lab:coverage:on$*/ 22
56
57 /*$lab:coverage:off$*/ 22
58 _redis 22
59 /*$lab:coverage:on$*/ 22
60 . 22
61 /*$lab:coverage:off$*/ 22
62 default) 22
63 /*$lab:coverage:on$*/ 22
64 ({ 22
65 error, 22
66 message: `Agent id=[${id}]` 22
67 }) 22
68 ); 22
69 } 23
70 }; 4
71

lib/services/agent/agent.remove-post-format.service.js (transformed to lib/services/agent/agent.remove-post-format.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_POST_FORMAT
4 } from '../../../util/constants';
5 import RedisErrorHandler from '../../errors/redis.error-handler';
6
7 module.exports = async function ({ id }) {
8
9
const { redis } = this.server.app;
10 const { globalService } = await this.server.services();
11 const PostFormatModel = await redis.factory(MODEL_POST_FORMAT);
12 try {
13
14 const agent = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
15 const ids = await agent.getAll(MODEL_POST_FORMAT, MODEL_POST_FORMAT);
16
17 await Promise.all(ids.map(async (currentId) => {
18
19
return await PostFormatModel.removeById({ id: currentId });
20 }));
21 }
22 catch (error) {
23 throw RedisErrorHandler({ error });
24 }
25 };
26

lib/services/agent/agent.remove-post-format.service.js

81.03%
58
47
11
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 7
21 id 7
22 }) { 7
23
const {
9
24 redis 9
25
} = this.server.app;
9
26 const { 10
27 globalService 10
28 } = await this.server.services(); 10
29 const PostFormatModel = await redis.factory( 11
30 /*$lab:coverage:off$*/ 11
31 _constants 11
32 /*$lab:coverage:on$*/ 11
33 . 11
34 /*$lab:coverage:off$*/ 11
35 MODEL_POST_FORMAT 11
36 /*$lab:coverage:on$*/ 11
37 ); 11
38
39 try { 12
40 const agent = await globalService.findById({ 14
41 id, 14
42 model: 14
43 /*$lab:coverage:off$*/ 14
44 _constants 14
45 /*$lab:coverage:on$*/ 14
46 . 14
47 /*$lab:coverage:off$*/ 14
48 MODEL_AGENT 14
49 /*$lab:coverage:on$*/ 14
50 , 14
51 returnModel: true 14
52 }); 14
53 const ids = await agent.getAll( 15
54 /*$lab:coverage:off$*/ 15
55 _constants 15
56 /*$lab:coverage:on$*/ 15
57 . 15
58 /*$lab:coverage:off$*/ 15
59 MODEL_POST_FORMAT 15
60 /*$lab:coverage:on$*/ 15
61 , 15
62 /*$lab:coverage:off$*/ 15
63 _constants 15
64 /*$lab:coverage:on$*/ 15
65 . 15
66 /*$lab:coverage:off$*/ 15
67 MODEL_POST_FORMAT 15
68 /*$lab:coverage:on$*/ 15
69 ); 15
70 await Promise.all(ids.map(async currentId => { 17
71
return await PostFormatModel.removeById({
19
72 id: currentId 19
73
});
19
74 })); 17
75 } catch (error) { 22
76 throw ( 23
77 /*$lab:coverage:off$*/ 23
78 (0, 23
79 /*$lab:coverage:on$*/ 23
80
81 /*$lab:coverage:off$*/ 23
82 _redis 23
83 /*$lab:coverage:on$*/ 23
84 . 23
85 /*$lab:coverage:off$*/ 23
86 default) 23
87 /*$lab:coverage:on$*/ 23
88 ({ 23
89 error 23
90 }) 23
91 ); 23
92 } 24
93 }; 7
94

lib/services/agent/agent.update-by-id.service.js (transformed to lib/services/agent/agent.update-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id, data, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const AgentModel = await redis.factory(MODEL_AGENT);
8 try {
9 await AgentModel.updateInstance({ id, data });
10 return returnModel ? AgentModel : AgentModel.allProperties();
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/agent/agent.update-by-id.service.js

82.05%
39
32
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id, 4
22 data, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const AgentModel = await redis.factory( 7
29 /*$lab:coverage:off$*/ 7
30 _constants 7
31 /*$lab:coverage:on$*/ 7
32 . 7
33 /*$lab:coverage:off$*/ 7
34 MODEL_AGENT 7
35 /*$lab:coverage:on$*/ 7
36 ); 7
37
38 try { 8
39 await AgentModel.updateInstance({ 9
40 id, 9
41 data 9
42 }); 9
43 return returnModel ? AgentModel : AgentModel.allProperties(); 10
44 } catch (error) { 12
45 throw ( 13
46 /*$lab:coverage:off$*/ 13
47 (0, 13
48 /*$lab:coverage:on$*/ 13
49
50 /*$lab:coverage:off$*/ 13
51 _redis 13
52 /*$lab:coverage:on$*/ 13
53 . 13
54 /*$lab:coverage:off$*/ 13
55 default) 13
56 /*$lab:coverage:on$*/ 13
57 ({ 13
58 error 13
59 }) 13
60 ); 13
61 } 14
62 }; 4
63

lib/services/agent/agent.update-post-format.service.js (transformed to lib/services/agent/agent.update-post-format.service.js)

%
Line Lint Hits Source
1 import {
2 MODEL_AGENT,
3 MODEL_POST_FORMAT
4 } from '../../../util/constants';
5 import NotFoundError from '../../errors/global.not-found-error';
6 import RedisErrorHandler from '../../errors/redis.error-handler';
7
8 module.exports = async function ({ id, postFormatData, returnModel = false }) {
9
10
const { globalService } = await this.server.services();
11 try {
12
13 const AgentModel = await globalService.findById({ id, model: MODEL_AGENT, returnModel: true });
14 const ids = await AgentModel.getAll(MODEL_POST_FORMAT, MODEL_POST_FORMAT);
15 const PostFormatModel = await globalService.findById({ id: ids[0], model: MODEL_POST_FORMAT, returnModel: true });
16 if (PostFormatModel.inDb) {
17 await PostFormatModel.updateInstance({ data: postFormatData });
18 return returnModel ? PostFormatModel : PostFormatModel.allProperties();
19 }
20 return Promise.reject(NotFoundError({ model: MODEL_POST_FORMAT }));
21 }
22 catch (error) {
23 throw RedisErrorHandler({ error });
24 }
25 };
26

lib/services/agent/agent.update-post-format.service.js

85.53%
76
65
11
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 5
12 /*$lab:coverage:off$*/ 5
13 _global = _interopRequireDefault(require("../../errors/global.not-found-error")) 5
14 /*$lab:coverage:on$*/ 5
15 ; 5
16
17 1 var 6
18 /*$lab:coverage:off$*/ 6
19 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 6
20 /*$lab:coverage:on$*/ 6
21 ; 6
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 8
27 id, 8
28 postFormatData, 8
29 returnModel = false 8
30 }) { 8
31
const {
10
32 globalService 10
33
} = await this.server.services();
10
34
35 try { 11
36 const AgentModel = await globalService.findById({ 13
37 id, 13
38 model: 13
39 /*$lab:coverage:off$*/ 13
40 _constants 13
41 /*$lab:coverage:on$*/ 13
42 . 13
43 /*$lab:coverage:off$*/ 13
44 MODEL_AGENT 13
45 /*$lab:coverage:on$*/ 13
46 , 13
47 returnModel: true 13
48 }); 13
49 const ids = await AgentModel.getAll( 14
50 /*$lab:coverage:off$*/ 14
51 _constants 14
52 /*$lab:coverage:on$*/ 14
53 . 14
54 /*$lab:coverage:off$*/ 14
55 MODEL_POST_FORMAT 14
56 /*$lab:coverage:on$*/ 14
57 , 14
58 /*$lab:coverage:off$*/ 14
59 _constants 14
60 /*$lab:coverage:on$*/ 14
61 . 14
62 /*$lab:coverage:off$*/ 14
63 MODEL_POST_FORMAT 14
64 /*$lab:coverage:on$*/ 14
65 ); 14
66 const PostFormatModel = await globalService.findById({ 15
67 id: ids[0], 15
68 model: 15
69 /*$lab:coverage:off$*/ 15
70 _constants 15
71 /*$lab:coverage:on$*/ 15
72 . 15
73 /*$lab:coverage:off$*/ 15
74 MODEL_POST_FORMAT 15
75 /*$lab:coverage:on$*/ 15
76 , 15
77 returnModel: true 15
78 }); 15
79
80 if (PostFormatModel.inDb) { 16
81 await PostFormatModel.updateInstance({ 17
82 data: postFormatData 17
83 }); 17
84 return returnModel ? PostFormatModel : PostFormatModel.allProperties(); 18
85 } 19
86
87 return Promise.reject( 20
88 /*$lab:coverage:off$*/ 20
89 (0, 20
90 /*$lab:coverage:on$*/ 20
91
92 /*$lab:coverage:off$*/ 20
93 _global 20
94 /*$lab:coverage:on$*/ 20
95 . 20
96 /*$lab:coverage:off$*/ 20
97 default) 20
98 /*$lab:coverage:on$*/ 20
99 ({ 20
100 model: 20
101 /*$lab:coverage:off$*/ 20
102 _constants 20
103 /*$lab:coverage:on$*/ 20
104 . 20
105 /*$lab:coverage:off$*/ 20
106 MODEL_POST_FORMAT 20
107
108 /*$lab:coverage:on$*/ 20
109 })); 20
110 } catch (error) { 22
111 throw ( 23
112 /*$lab:coverage:off$*/ 23
113 (0, 23
114 /*$lab:coverage:on$*/ 23
115
116 /*$lab:coverage:off$*/ 23
117 _redis 23
118 /*$lab:coverage:on$*/ 23
119 . 23
120 /*$lab:coverage:off$*/ 23
121 default) 23
122 /*$lab:coverage:on$*/ 23
123 ({ 23
124 error 23
125 }) 23
126 ); 23
127 } 24
128 }; 8
129

lib/services/category/category.create.service.js (transformed to lib/services/category/category.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_CATEGORY } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, agent = null, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const CategoryModel = await redis.factory(MODEL_CATEGORY);
8 try {
9 await CategoryModel.createInstance({ data });
10 if (agent) {
11 await agent.link(CategoryModel, MODEL_CATEGORY);
12 await agent.save();
13 }
14 return returnModel ? CategoryModel : CategoryModel.allProperties();
15 }
16 catch (error) {
17 throw RedisErrorHandler({ error });
18 }
19 };
20

lib/services/category/category.create.service.js

78.26%
46
36
10
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 agent = null, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const CategoryModel = await redis.factory( 7
29 /*$lab:coverage:off$*/ 7
30 _constants 7
31 /*$lab:coverage:on$*/ 7
32 . 7
33 /*$lab:coverage:off$*/ 7
34 MODEL_CATEGORY 7
35 /*$lab:coverage:on$*/ 7
36 ); 7
37
38 try { 8
39 await CategoryModel.createInstance({ 9
40 data 9
41 }); 9
42
43 if (agent) { 10
44 await agent.link(CategoryModel, 11
45 /*$lab:coverage:off$*/ 11
46 _constants 11
47 /*$lab:coverage:on$*/ 11
48 . 11
49 /*$lab:coverage:off$*/ 11
50 MODEL_CATEGORY 11
51 /*$lab:coverage:on$*/ 11
52 ); 11
53 await agent.save(); 12
54 } 13
55
56 return returnModel ? CategoryModel : CategoryModel.allProperties(); 14
57 } catch (error) { 16
58 throw ( 17
59 /*$lab:coverage:off$*/ 17
60 (0, 17
61 /*$lab:coverage:on$*/ 17
62
63 /*$lab:coverage:off$*/ 17
64 _redis 17
65 /*$lab:coverage:on$*/ 17
66 . 17
67 /*$lab:coverage:off$*/ 17
68 default) 17
69 /*$lab:coverage:on$*/ 17
70 ({ 17
71 error 17
72 }) 17
73 ); 17
74 } 18
75 }; 4
76

lib/services/category/category.find-all-by-ids.service.js (transformed to lib/services/category/category.find-all-by-ids.service.js)

%
Line Lint Hits Source
1 import { MODEL_CATEGORY } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ ids }) {
5
6
const { redis } = this.server.app;
7
8 try {
9 const CategoryModel = await redis.factory(MODEL_CATEGORY);
10 return await CategoryModel.findAllByIds({ ids });
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15
16 };
17

lib/services/category/category.find-all-by-ids.service.js

82.86%
35
29
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 ids 4
22 }) { 4
23
const {
6
24 redis 6
25
} = this.server.app;
6
26
27 try { 8
28 const CategoryModel = await redis.factory( 9
29 /*$lab:coverage:off$*/ 9
30 _constants 9
31 /*$lab:coverage:on$*/ 9
32 . 9
33 /*$lab:coverage:off$*/ 9
34 MODEL_CATEGORY 9
35 /*$lab:coverage:on$*/ 9
36 ); 9
37 return await CategoryModel.findAllByIds({ 10
38 ids 10
39 }); 10
40 } catch (error) { 12
41 throw ( 13
42 /*$lab:coverage:off$*/ 13
43 (0, 13
44 /*$lab:coverage:on$*/ 13
45
46 /*$lab:coverage:off$*/ 13
47 _redis 13
48 /*$lab:coverage:on$*/ 13
49 . 13
50 /*$lab:coverage:off$*/ 13
51 default) 13
52 /*$lab:coverage:on$*/ 13
53 ({ 13
54 error 13
55 }) 13
56 ); 13
57 } 14
58 }; 4
59

lib/services/category/category.find-by-id.service.js (transformed to lib/services/category/category.find-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_CATEGORY } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id, returnModel = false }) {
5
6
const { redis } = this.server.app;
7
8 try {
9 const CategoryModel = await redis.factory(MODEL_CATEGORY, id);
10 return returnModel ? CategoryModel : CategoryModel.allProperties();
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error, message: `Category id=[${id}]` });
14 }
15
16 };
17

lib/services/category/category.find-by-id.service.js

82.86%
35
29
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id, 4
22 returnModel = false 4
23 }) { 4
24
const {
6
25 redis 6
26
} = this.server.app;
6
27
28 try { 8
29 const CategoryModel = await redis.factory( 9
30 /*$lab:coverage:off$*/ 9
31 _constants 9
32 /*$lab:coverage:on$*/ 9
33 . 9
34 /*$lab:coverage:off$*/ 9
35 MODEL_CATEGORY 9
36 /*$lab:coverage:on$*/ 9
37 , id); 9
38 return returnModel ? CategoryModel : CategoryModel.allProperties(); 10
39 } catch (error) { 12
40 throw ( 13
41 /*$lab:coverage:off$*/ 13
42 (0, 13
43 /*$lab:coverage:on$*/ 13
44
45 /*$lab:coverage:off$*/ 13
46 _redis 13
47 /*$lab:coverage:on$*/ 13
48 . 13
49 /*$lab:coverage:off$*/ 13
50 default) 13
51 /*$lab:coverage:on$*/ 13
52 ({ 13
53 error, 13
54 message: `Category id=[${id}]` 13
55 }) 13
56 ); 13
57 } 14
58 }; 4
59

lib/services/category/category.remove-by-id.service.js (transformed to lib/services/category/category.remove-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_CATEGORY } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id }) {
5
6
const { redis } = this.server.app;
7 const CategoryModel = await redis.factory(MODEL_CATEGORY);
8 try {
9 await CategoryModel.findById({ id });
10 return CategoryModel.removeById({ id });
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error, message: `Category id=[${id}]` });
14 }
15
16 };
17

lib/services/category/category.remove-by-id.service.js

82.05%
39
32
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id 4
22 }) { 4
23
const {
6
24 redis 6
25
} = this.server.app;
6
26 const CategoryModel = await redis.factory( 7
27 /*$lab:coverage:off$*/ 7
28 _constants 7
29 /*$lab:coverage:on$*/ 7
30 . 7
31 /*$lab:coverage:off$*/ 7
32 MODEL_CATEGORY 7
33 /*$lab:coverage:on$*/ 7
34 ); 7
35
36 try { 8
37 await CategoryModel.findById({ 9
38 id 9
39 }); 9
40 return CategoryModel.removeById({ 10
41 id 10
42 }); 10
43 } catch (error) { 12
44 throw ( 13
45 /*$lab:coverage:off$*/ 13
46 (0, 13
47 /*$lab:coverage:on$*/ 13
48
49 /*$lab:coverage:off$*/ 13
50 _redis 13
51 /*$lab:coverage:on$*/ 13
52 . 13
53 /*$lab:coverage:off$*/ 13
54 default) 13
55 /*$lab:coverage:on$*/ 13
56 ({ 13
57 error, 13
58 message: `Category id=[${id}]` 13
59 }) 13
60 ); 13
61 } 14
62 }; 4
63

lib/services/global/global.find-all.service.js (transformed to lib/services/global/global.find-all.service.js)

%
Line Lint Hits Source
1 import RedisErrorHandler from '../../errors/redis.error-handler';
2
3 module.exports = async function ({ skip, limit, direction, field, model }) {
4
5 const { redis } = this.server.app;
6 2 const Model = await redis.factory(model);
7
8 2 try {
9 return await Model.findAll({ skip, limit, direction, field });
10 }
11 catch (error) {
12 throw RedisErrorHandler({ error });
13 }
14 };
15

lib/services/global/global.find-all.service.js

97.14%
35
34
1
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 1 module.exports = async function ({ 3
15 skip, 3
16 limit, 3
17 direction, 3
18 field, 3
19 model 3
20 }) { 3
21 const { 5
22 redis 5
23 } = this.server.app; 5
24 2 const Model = await redis.factory(model); 6
25
26 2 try { 8
27 2 return await Model.findAll({ 9
28 skip, 9
29 limit, 9
30 direction, 9
31 field 9
32 }); 9
33 } catch (error) { 11
34 throw ( 12
35 /*$lab:coverage:off$*/ 12
36 (0, 12
37 /*$lab:coverage:on$*/ 12
38
39 /*$lab:coverage:off$*/ 12
40 _redis 12
41 /*$lab:coverage:on$*/ 12
42 . 12
43 /*$lab:coverage:off$*/ 12
44 default) 12
45 /*$lab:coverage:on$*/ 12
46 ({ 12
47 error 12
48 }) 12
49 ); 12
50 } 13
51 }; 3
52

lib/services/global/global.find-by-id.service.js (transformed to lib/services/global/global.find-by-id.service.js)

%
Line Lint Hits Source
1 import RedisErrorHandler from '../../errors/redis.error-handler';
2
3 module.exports = async function ({ id, model, returnModel = false }) {
4
5
const { redis } = this.server.app;
6
7 try {
8 const Model = await redis.factory(model, id);
9 return returnModel ? Model : Model.allProperties();
10 }
11 catch (error) {
12 throw RedisErrorHandler({ error, message: `${model} id=[${id}]` });
13 }
14 };
15

lib/services/global/global.find-by-id.service.js

79.31%
29
23
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 1 module.exports = async function ({ 3
15 id, 3
16 model, 3
17 returnModel = false 3
18 }) { 3
19
const {
5
20 redis 5
21
} = this.server.app;
5
22
23 try { 7
24 const Model = await redis.factory(model, id); 8
25 return returnModel ? Model : Model.allProperties(); 9
26 } catch (error) { 11
27 throw ( 12
28 /*$lab:coverage:off$*/ 12
29 (0, 12
30 /*$lab:coverage:on$*/ 12
31
32 /*$lab:coverage:off$*/ 12
33 _redis 12
34 /*$lab:coverage:on$*/ 12
35 . 12
36 /*$lab:coverage:off$*/ 12
37 default) 12
38 /*$lab:coverage:on$*/ 12
39 ({ 12
40 error, 12
41 message: `${model} id=[${id}]` 12
42 }) 12
43 ); 12
44 } 13
45 }; 3
46

lib/services/global/global.find-in-model-path.service.js (transformed to lib/services/global/global.find-in-model-path.service.js)

%
Line Lint Hits Source
1 import GlobalNotFound from '../../errors/global.not-found-error';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3 import RedisNotLinkedError from '../../errors/redis.not-linked-error';
4
5 module.exports = async function ({ modelPath, isSingleResult, skip, limit, direction, field, returnModel = false }) {
6
7 const { redis } = this.server.app;
8
9 1 try {
10 const findById = async ({ model, id }) => {
11
12 try {
13 2 const Model = await redis.factory(model, id);
14 2 return await Model;
15 }
16 catch (err) {
17 throw GlobalNotFound({ model, id });
18 }
19
20 };
21
22 const reducer = async (parentModel, current, index, sourceArray) => {
23 //the first one
24 if (!parentModel) {
25 // Load the model, wait for it to load and pass it
26 1 return await findById(current);
27 }
28 const { model, id } = current;
29 //wait for parent to load
30 parentModel = await parentModel;
31
32 1 // the last one in a find all or find a single model
33
if (
!id) {
34
35 const ids = await parentModel.getAll(model, model);
36
37 1 //if single result then only get the first one
38
const childModel = await findById({ model, id:
isSingleResult
?
ids[0] : null });
39
if (
isSingleResult) {
40 if (childModel.inDb) {
41 return returnModel ? childModel : childModel.allProperties();
42 }
43 throw GlobalNotFound({ model });
44 }
45 return await childModel.findAllByIds({ ids, skip, limit, direction, field });
46 }
47
48 //load child model
49 const childModel = await findById(current);
50 const belongs = await parentModel.belongsTo(childModel, model);
51 if (belongs) {
52 // the last one in a find by id else continue
53 const isLast = sourceArray.length === (index + 1);
54 if (isLast) {
55 return returnModel ? childModel : childModel.allProperties();
56 }
57 return childModel;
58 }
59 throw RedisNotLinkedError({
60 mainType: parentModel.modelName,
61 mainId: parentModel.id,
62 subType: model,
63 subId: current.id
64 });
65 };
66 1 return await modelPath.reduce(reducer, null);
67 }
68 catch (error) {
69 throw RedisErrorHandler({ error });
70 }
71 };
72

lib/services/global/global.find-in-model-path.service.js

86.21%
116
100
16
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _global = _interopRequireDefault(require("../../errors/global.not-found-error")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _redis2 = _interopRequireDefault(require("../../errors/redis.not-linked-error")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 module.exports = async function ({ 5
27 modelPath, 5
28 isSingleResult, 5
29 skip, 5
30 limit, 5
31 direction, 5
32 field, 5
33 returnModel = false 5
34 }) { 5
35 const { 7
36 redis 7
37 } = this.server.app; 7
38
39 1 try { 9
40 1 const findById = async ({ 10
41 model, 10
42 id 10
43 }) => { 10
44 try { 12
45 2 const Model = await redis.factory(model, id); 13
46 2 return await Model; 14
47 } catch (err) { 16
48 throw ( 17
49 /*$lab:coverage:off$*/ 17
50 (0, 17
51 /*$lab:coverage:on$*/ 17
52
53 /*$lab:coverage:off$*/ 17
54 _global 17
55 /*$lab:coverage:on$*/ 17
56 . 17
57 /*$lab:coverage:off$*/ 17
58 default) 17
59 /*$lab:coverage:on$*/ 17
60 ({ 17
61 model, 17
62 id 17
63 }) 17
64 ); 17
65 } 18
66 }; 10
67
68 1 const reducer = async (parentModel, current, index, sourceArray) => { 22
69 //the first one 23
70 if (!parentModel) { 24
71 // Load the model, wait for it to load and pass it 25
72 1 return await findById(current); 26
73 } 27
74
75 1 const { 28
76 model, 28
77 id 28
78 } = current; //wait for parent to load 29
79
80 1 parentModel = await parentModel; // the last one in a find all or find a single model 32
81
82
if (
!id
) {
33
83 1 const ids = await parentModel.getAll(model, model); //if single result then only get the first one 37
84
85 1 const childModel = await findById({ 38
86 model, 38
87
id:
isSingleResult
?
ids[0]
: null
38
88 }); 38
89
90
if (
isSingleResult
) {
39
91 if (childModel.inDb) { 40
92 return returnModel ? childModel : childModel.allProperties(); 41
93 } 42
94
95 throw ( 43
96 /*$lab:coverage:off$*/ 43
97 (0, 43
98 /*$lab:coverage:on$*/ 43
99
100 /*$lab:coverage:off$*/ 43
101 _global 43
102 /*$lab:coverage:on$*/ 43
103 . 43
104 /*$lab:coverage:off$*/ 43
105 default) 43
106 /*$lab:coverage:on$*/ 43
107 ({ 43
108 model 43
109 }) 43
110 ); 43
111 } 44
112
113 1 return await childModel.findAllByIds({ 45
114 ids, 45
115 skip, 45
116 limit, 45
117 direction, 45
118 field 45
119 }); 45
120 } //load child model 48
121
122
123 const childModel = await findById(current); 49
124 const belongs = await parentModel.belongsTo(childModel, model); 50
125
126 if (belongs) { 51
127 // the last one in a find by id else continue 52
128 const isLast = sourceArray.length === index + 1; 53
129
130 if (isLast) { 54
131 return returnModel ? childModel : childModel.allProperties(); 55
132 } 56
133
134 return childModel; 57
135 } 58
136
137 throw ( 59
138 /*$lab:coverage:off$*/ 59
139 (0, 59
140 /*$lab:coverage:on$*/ 59
141
142 /*$lab:coverage:off$*/ 59
143 _redis2 59
144 /*$lab:coverage:on$*/ 59
145 . 59
146 /*$lab:coverage:off$*/ 59
147 default) 59
148 /*$lab:coverage:on$*/ 59
149 ({ 59
150 mainType: parentModel.modelName, 59
151 mainId: parentModel.id, 59
152 subType: model, 59
153 subId: current.id 63
154 }) 59
155 ); 59
156 }; 22
157
158 1 return await modelPath.reduce(reducer, null); 66
159 } catch (error) { 68
160 throw ( 69
161 /*$lab:coverage:off$*/ 69
162 (0, 69
163 /*$lab:coverage:on$*/ 69
164
165 /*$lab:coverage:off$*/ 69
166 _redis 69
167 /*$lab:coverage:on$*/ 69
168 . 69
169 /*$lab:coverage:off$*/ 69
170 default) 69
171 /*$lab:coverage:on$*/ 69
172 ({ 69
173 error 69
174 }) 69
175 ); 69
176 } 70
177 }; 5
178

lib/services/global/global.search-by-field.service.js (transformed to lib/services/global/global.search-by-field.service.js)

%
Line Lint Hits Source
1 import RedisErrorHandler from '../../errors/redis.error-handler';
2
3 module.exports = async function ({ field, value, model }) {
4
5
const { redis } = this.server.app;
6
7 try {
8 const Model = await redis.factory(model);
9 return await Model.searchByField({ field, value });
10 }
11 catch (error) {
12 throw RedisErrorHandler({ error, message: `${model} ${field}=[${value}]` });
13 }
14
15 };
16

lib/services/global/global.search-by-field.service.js

81.25%
32
26
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 1 module.exports = async function ({ 3
15 field, 3
16 value, 3
17 model 3
18 }) { 3
19
const {
5
20 redis 5
21
} = this.server.app;
5
22
23 try { 7
24 const Model = await redis.factory(model); 8
25 return await Model.searchByField({ 9
26 field, 9
27 value 9
28 }); 9
29 } catch (error) { 11
30 throw ( 12
31 /*$lab:coverage:off$*/ 12
32 (0, 12
33 /*$lab:coverage:on$*/ 12
34
35 /*$lab:coverage:off$*/ 12
36 _redis 12
37 /*$lab:coverage:on$*/ 12
38 . 12
39 /*$lab:coverage:off$*/ 12
40 default) 12
41 /*$lab:coverage:on$*/ 12
42 ({ 12
43 error, 12
44 message: `${model} ${field}=[${value}]` 12
45 }) 12
46 ); 12
47 } 13
48 }; 3
49

lib/services/keyword/keyword.create.service.js (transformed to lib/services/keyword/keyword.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_KEYWORD } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, agent = null, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const KeywordModel = await redis.factory(MODEL_KEYWORD);
8 try {
9 await KeywordModel.createInstance({ data });
10 if (agent) {
11 await agent.link(KeywordModel, MODEL_KEYWORD);
12 await agent.save();
13 }
14 return returnModel ? KeywordModel : KeywordModel.allProperties();
15 }
16 catch (error) {
17 throw RedisErrorHandler({ error });
18 }
19 };
20

lib/services/keyword/keyword.create.service.js

78.26%
46
36
10
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 agent = null, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const KeywordModel = await redis.factory( 7
29 /*$lab:coverage:off$*/ 7
30 _constants 7
31 /*$lab:coverage:on$*/ 7
32 . 7
33 /*$lab:coverage:off$*/ 7
34 MODEL_KEYWORD 7
35 /*$lab:coverage:on$*/ 7
36 ); 7
37
38 try { 8
39 await KeywordModel.createInstance({ 9
40 data 9
41 }); 9
42
43 if (agent) { 10
44 await agent.link(KeywordModel, 11
45 /*$lab:coverage:off$*/ 11
46 _constants 11
47 /*$lab:coverage:on$*/ 11
48 . 11
49 /*$lab:coverage:off$*/ 11
50 MODEL_KEYWORD 11
51 /*$lab:coverage:on$*/ 11
52 ); 11
53 await agent.save(); 12
54 } 13
55
56 return returnModel ? KeywordModel : KeywordModel.allProperties(); 14
57 } catch (error) { 16
58 throw ( 17
59 /*$lab:coverage:off$*/ 17
60 (0, 17
61 /*$lab:coverage:on$*/ 17
62
63 /*$lab:coverage:off$*/ 17
64 _redis 17
65 /*$lab:coverage:on$*/ 17
66 . 17
67 /*$lab:coverage:off$*/ 17
68 default) 17
69 /*$lab:coverage:on$*/ 17
70 ({ 17
71 error 17
72 }) 17
73 ); 17
74 } 18
75 }; 4
76

lib/services/keyword/keyword.remove-by-id.service.js (transformed to lib/services/keyword/keyword.remove-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_KEYWORD } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id }) {
5
6
const { redis } = this.server.app;
7 const KeywordModel = await redis.factory(MODEL_KEYWORD);
8 try {
9
10 await KeywordModel.findById({ id });
11 return KeywordModel.removeById({ id });
12 }
13 catch (error) {
14 throw RedisErrorHandler({ error, message: `${MODEL_KEYWORD} id=[${id}]` });
15 }
16
17 };
18

lib/services/keyword/keyword.remove-by-id.service.js

83.72%
43
36
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id 4
22 }) { 4
23
const {
6
24 redis 6
25
} = this.server.app;
6
26 const KeywordModel = await redis.factory( 7
27 /*$lab:coverage:off$*/ 7
28 _constants 7
29 /*$lab:coverage:on$*/ 7
30 . 7
31 /*$lab:coverage:off$*/ 7
32 MODEL_KEYWORD 7
33 /*$lab:coverage:on$*/ 7
34 ); 7
35
36 try { 8
37 await KeywordModel.findById({ 10
38 id 10
39 }); 10
40 return KeywordModel.removeById({ 11
41 id 11
42 }); 11
43 } catch (error) { 13
44 throw ( 14
45 /*$lab:coverage:off$*/ 14
46 (0, 14
47 /*$lab:coverage:on$*/ 14
48
49 /*$lab:coverage:off$*/ 14
50 _redis 14
51 /*$lab:coverage:on$*/ 14
52 . 14
53 /*$lab:coverage:off$*/ 14
54 default) 14
55 /*$lab:coverage:on$*/ 14
56 ({ 14
57 error, 14
58 message: `${ 14
59 /*$lab:coverage:off$*/ 14
60 _constants 14
61 /*$lab:coverage:on$*/ 14
62 . 14
63 /*$lab:coverage:off$*/ 14
64 MODEL_KEYWORD 14
65 /*$lab:coverage:on$*/ 14
66 } id=[${id}]` 14
67 }) 14
68 ); 14
69 } 15
70 }; 4
71

lib/services/post-format/post-format.create.service.js (transformed to lib/services/post-format/post-format.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_POST_FORMAT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, parent = null, returnModel = false }) {
5
6
const { redis } = this.server.app;
7
8 const PostFormatModel = await redis.factory(MODEL_POST_FORMAT);
9 try {
10 await PostFormatModel.createInstance({ data });
11 await parent.link(PostFormatModel, MODEL_POST_FORMAT);
12 await parent.save();
13 return returnModel ? PostFormatModel : PostFormatModel.allProperties();
14 }
15 catch (error) {
16 throw RedisErrorHandler({ error });
17 }
18 };
19

lib/services/post-format/post-format.create.service.js

79.55%
44
35
9
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 parent = null, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const PostFormatModel = await redis.factory( 8
29 /*$lab:coverage:off$*/ 8
30 _constants 8
31 /*$lab:coverage:on$*/ 8
32 . 8
33 /*$lab:coverage:off$*/ 8
34 MODEL_POST_FORMAT 8
35 /*$lab:coverage:on$*/ 8
36 ); 8
37
38 try { 9
39 await PostFormatModel.createInstance({ 10
40 data 10
41 }); 10
42 await parent.link(PostFormatModel, 11
43 /*$lab:coverage:off$*/ 11
44 _constants 11
45 /*$lab:coverage:on$*/ 11
46 . 11
47 /*$lab:coverage:off$*/ 11
48 MODEL_POST_FORMAT 11
49 /*$lab:coverage:on$*/ 11
50 ); 11
51 await parent.save(); 12
52 return returnModel ? PostFormatModel : PostFormatModel.allProperties(); 13
53 } catch (error) { 15
54 throw ( 16
55 /*$lab:coverage:off$*/ 16
56 (0, 16
57 /*$lab:coverage:on$*/ 16
58
59 /*$lab:coverage:off$*/ 16
60 _redis 16
61 /*$lab:coverage:on$*/ 16
62 . 16
63 /*$lab:coverage:off$*/ 16
64 default) 16
65 /*$lab:coverage:on$*/ 16
66 ({ 16
67 error 16
68 }) 16
69 ); 16
70 } 17
71 }; 4
72

lib/services/post-format/post-format.find-all-by-ids.service.js (transformed to lib/services/post-format/post-format.find-all-by-ids.service.js)

%
Line Lint Hits Source
1 import { MODEL_POST_FORMAT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ ids }) {
5
6
const { redis } = this.server.app;
7
8 try {
9 const Model = await redis.factory(MODEL_POST_FORMAT);
10 return await Model.findAllByIds({ ids });
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15
16 };
17

lib/services/post-format/post-format.find-all-by-ids.service.js

82.86%
35
29
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 ids 4
22 }) { 4
23
const {
6
24 redis 6
25
} = this.server.app;
6
26
27 try { 8
28 const Model = await redis.factory( 9
29 /*$lab:coverage:off$*/ 9
30 _constants 9
31 /*$lab:coverage:on$*/ 9
32 . 9
33 /*$lab:coverage:off$*/ 9
34 MODEL_POST_FORMAT 9
35 /*$lab:coverage:on$*/ 9
36 ); 9
37 return await Model.findAllByIds({ 10
38 ids 10
39 }); 10
40 } catch (error) { 12
41 throw ( 13
42 /*$lab:coverage:off$*/ 13
43 (0, 13
44 /*$lab:coverage:on$*/ 13
45
46 /*$lab:coverage:off$*/ 13
47 _redis 13
48 /*$lab:coverage:on$*/ 13
49 . 13
50 /*$lab:coverage:off$*/ 13
51 default) 13
52 /*$lab:coverage:on$*/ 13
53 ({ 13
54 error 13
55 }) 13
56 ); 13
57 } 14
58 }; 4
59

lib/services/post-format/post-format.update-by-id.service.js (transformed to lib/services/post-format/post-format.update-by-id.service.js)

%
Line Lint Hits Source
1 import { MODEL_POST_FORMAT } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ id, data, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const Model = await redis.factory(MODEL_POST_FORMAT);
8 try {
9 await Model.updateInstance({ id, data });
10 return returnModel ? Model : Model.allProperties();
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/post-format/post-format.update-by-id.service.js

82.05%
39
32
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 id, 4
22 data, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const Model = await redis.factory( 7
29 /*$lab:coverage:off$*/ 7
30 _constants 7
31 /*$lab:coverage:on$*/ 7
32 . 7
33 /*$lab:coverage:off$*/ 7
34 MODEL_POST_FORMAT 7
35 /*$lab:coverage:on$*/ 7
36 ); 7
37
38 try { 8
39 await Model.updateInstance({ 9
40 id, 9
41 data 9
42 }); 9
43 return returnModel ? Model : Model.allProperties(); 10
44 } catch (error) { 12
45 throw ( 13
46 /*$lab:coverage:off$*/ 13
47 (0, 13
48 /*$lab:coverage:on$*/ 13
49
50 /*$lab:coverage:off$*/ 13
51 _redis 13
52 /*$lab:coverage:on$*/ 13
53 . 13
54 /*$lab:coverage:off$*/ 13
55 default) 13
56 /*$lab:coverage:on$*/ 13
57 ({ 13
58 error 13
59 }) 13
60 ); 13
61 } 14
62 }; 4
63

lib/services/settings/settings.create.service.js (transformed to lib/services/settings/settings.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_SETTINGS } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const SettingsModel = await redis.factory(MODEL_SETTINGS);
8 try {
9 await SettingsModel.createInstance({ data });
10 return returnModel ? SettingsModel : SettingsModel.allProperties();
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/settings/settings.create.service.js

81.08%
37
30
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 returnModel = false 4
23 }) { 4
24
const {
6
25 redis 6
26
} = this.server.app;
6
27 const SettingsModel = await redis.factory( 7
28 /*$lab:coverage:off$*/ 7
29 _constants 7
30 /*$lab:coverage:on$*/ 7
31 . 7
32 /*$lab:coverage:off$*/ 7
33 MODEL_SETTINGS 7
34 /*$lab:coverage:on$*/ 7
35 ); 7
36
37 try { 8
38 await SettingsModel.createInstance({ 9
39 data 9
40 }); 9
41 return returnModel ? SettingsModel : SettingsModel.allProperties(); 10
42 } catch (error) { 12
43 throw ( 13
44 /*$lab:coverage:off$*/ 13
45 (0, 13
46 /*$lab:coverage:on$*/ 13
47
48 /*$lab:coverage:off$*/ 13
49 _redis 13
50 /*$lab:coverage:on$*/ 13
51 . 13
52 /*$lab:coverage:off$*/ 13
53 default) 13
54 /*$lab:coverage:on$*/ 13
55 ({ 13
56 error 13
57 }) 13
58 ); 13
59 } 14
60 }; 4
61

lib/services/settings/settings.find-all.service.js (transformed to lib/services/settings/settings.find-all.service.js)

%
Line Lint Hits Source
1 import RedisErrorHandler from '../../errors/redis.error-handler';
2 import { MODEL_SETTINGS } from '../../../util/constants';
3
4 module.exports = async function () {
5
6
const { redis } = this.server.app;
7 const Model = await redis.factory(MODEL_SETTINGS);
8
9 try {
10 return await Model.findAll();
11 }
12 catch (error) {
13 throw RedisErrorHandler({ error });
14 }
15 };
16

lib/services/settings/settings.find-all.service.js

80.65%
31
25
6
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function () { 4
21
const {
6
22 redis 6
23
} = this.server.app;
6
24 const Model = await redis.factory( 7
25 /*$lab:coverage:off$*/ 7
26 _constants 7
27 /*$lab:coverage:on$*/ 7
28 . 7
29 /*$lab:coverage:off$*/ 7
30 MODEL_SETTINGS 7
31 /*$lab:coverage:on$*/ 7
32 ); 7
33
34 try { 9
35 return await Model.findAll(); 10
36 } catch (error) { 12
37 throw ( 13
38 /*$lab:coverage:off$*/ 13
39 (0, 13
40 /*$lab:coverage:on$*/ 13
41
42 /*$lab:coverage:off$*/ 13
43 _redis 13
44 /*$lab:coverage:on$*/ 13
45 . 13
46 /*$lab:coverage:off$*/ 13
47 default) 13
48 /*$lab:coverage:on$*/ 13
49 ({ 13
50 error 13
51 }) 13
52 ); 13
53 } 14
54 }; 4
55

lib/services/settings/settings.find-by-name.service.js (transformed to lib/services/settings/settings.find-by-name.service.js)

%
Line Lint Hits Source
1 import { MODEL_SETTINGS } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ name, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const Model = await redis.factory(MODEL_SETTINGS);
8
9 try {
10 await Model.findByName({ name });
11 return returnModel ? Model : Model.allProperties();
12 }
13 catch (error) {
14 throw RedisErrorHandler({ error });
15 }
16 };
17

lib/services/settings/settings.find-by-name.service.js

81.08%
37
30
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 name, 4
22 returnModel = false 4
23 }) { 4
24
const {
6
25 redis 6
26
} = this.server.app;
6
27 const Model = await redis.factory( 7
28 /*$lab:coverage:off$*/ 7
29 _constants 7
30 /*$lab:coverage:on$*/ 7
31 . 7
32 /*$lab:coverage:off$*/ 7
33 MODEL_SETTINGS 7
34 /*$lab:coverage:on$*/ 7
35 ); 7
36
37 try { 9
38 await Model.findByName({ 10
39 name 10
40 }); 10
41 return returnModel ? Model : Model.allProperties(); 11
42 } catch (error) { 13
43 throw ( 14
44 /*$lab:coverage:off$*/ 14
45 (0, 14
46 /*$lab:coverage:on$*/ 14
47
48 /*$lab:coverage:off$*/ 14
49 _redis 14
50 /*$lab:coverage:on$*/ 14
51 . 14
52 /*$lab:coverage:off$*/ 14
53 default) 14
54 /*$lab:coverage:on$*/ 14
55 ({ 14
56 error 14
57 }) 14
58 ); 14
59 } 15
60 }; 4
61

lib/services/settings/settings.update-by-name.service.js (transformed to lib/services/settings/settings.update-by-name.service.js)

%
Line Lint Hits Source
1 import { MODEL_SETTINGS } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ name, value, returnModel = false }) {
5
6
const { redis } = this.server.app;
7 const Model = await redis.factory(MODEL_SETTINGS);
8 try {
9 await Model.findByName({ name });
10 await Model.updateInstance({ data: { value } });
11 return returnModel ? Model : Model.allProperties();
12 }
13 catch (error) {
14 throw RedisErrorHandler({ error });
15 }
16 };
17

lib/services/settings/settings.update-by-name.service.js

81.40%
43
35
8
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 name, 4
22 value, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const Model = await redis.factory( 7
29 /*$lab:coverage:off$*/ 7
30 _constants 7
31 /*$lab:coverage:on$*/ 7
32 . 7
33 /*$lab:coverage:off$*/ 7
34 MODEL_SETTINGS 7
35 /*$lab:coverage:on$*/ 7
36 ); 7
37
38 try { 8
39 await Model.findByName({ 9
40 name 9
41 }); 9
42 await Model.updateInstance({ 10
43 data: { 10
44 value 10
45 } 10
46 }); 10
47 return returnModel ? Model : Model.allProperties(); 11
48 } catch (error) { 13
49 throw ( 14
50 /*$lab:coverage:off$*/ 14
51 (0, 14
52 /*$lab:coverage:on$*/ 14
53
54 /*$lab:coverage:off$*/ 14
55 _redis 14
56 /*$lab:coverage:on$*/ 14
57 . 14
58 /*$lab:coverage:off$*/ 14
59 default) 14
60 /*$lab:coverage:on$*/ 14
61 ({ 14
62 error 14
63 }) 14
64 ); 14
65 } 15
66 }; 4
67

lib/services/webhook/webhook.create.service.js (transformed to lib/services/webhook/webhook.create.service.js)

%
Line Lint Hits Source
1 import { MODEL_WEBHOOK } from '../../../util/constants';
2 import RedisErrorHandler from '../../errors/redis.error-handler';
3
4 module.exports = async function ({ data, parent = null, returnModel = false }) {
5
6
const { redis } = this.server.app;
7
8 const model = await redis.factory(MODEL_WEBHOOK);
9 try {
10 await model.createInstance({ data });
11 await parent.link(model, MODEL_WEBHOOK);
12 await parent.save();
13 return returnModel ? model : model.allProperties();
14 }
15 catch (error) {
16 throw RedisErrorHandler({ error });
17 }
18 };
19

lib/services/webhook/webhook.create.service.js

79.55%
44
35
9
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _redis = _interopRequireDefault(require("../../errors/redis.error-handler")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 module.exports = async function ({ 4
21 data, 4
22 parent = null, 4
23 returnModel = false 4
24 }) { 4
25
const {
6
26 redis 6
27
} = this.server.app;
6
28 const model = await redis.factory( 8
29 /*$lab:coverage:off$*/ 8
30 _constants 8
31 /*$lab:coverage:on$*/ 8
32 . 8
33 /*$lab:coverage:off$*/ 8
34 MODEL_WEBHOOK 8
35 /*$lab:coverage:on$*/ 8
36 ); 8
37
38 try { 9
39 await model.createInstance({ 10
40 data 10
41 }); 10
42 await parent.link(model, 11
43 /*$lab:coverage:off$*/ 11
44 _constants 11
45 /*$lab:coverage:on$*/ 11
46 . 11
47 /*$lab:coverage:off$*/ 11
48 MODEL_WEBHOOK 11
49 /*$lab:coverage:on$*/ 11
50 ); 11
51 await parent.save(); 12
52 return returnModel ? model : model.allProperties(); 13
53 } catch (error) { 15
54 throw ( 16
55 /*$lab:coverage:off$*/ 16
56 (0, 16
57 /*$lab:coverage:on$*/ 16
58
59 /*$lab:coverage:off$*/ 16
60 _redis 16
61 /*$lab:coverage:on$*/ 16
62 . 16
63 /*$lab:coverage:off$*/ 16
64 default) 16
65 /*$lab:coverage:on$*/ 16
66 ({ 16
67 error 16
68 }) 16
69 ); 16
70 } 17
71 }; 4
72

lib/validators/action.validator.js (transformed to lib/validators/action.validator.js)

%
Line Lint Hits Source
1 import { PARAM_ACTION_ID } from '../../util/constants';
2
3 1 const ActionSchema = require('../models/action.model').schema;
4
5 class ActionValidate {
6 constructor() {
7
8 this.removeById = {
9 params: (() => {
10
11 return {
12 [PARAM_ACTION_ID]: ActionSchema.id.required().description('Id of the action')
13 };
14 })()
15 };
16
17 }
18 }
19
20 1 const actionValidate = new ActionValidate();
21 1 module.exports = actionValidate;
22

lib/validators/action.validator.js

100%
22
22
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 const ActionSchema = require('../models/action.model').schema; 3
12
13 class ActionValidate { 5
14 constructor() { 6
15 this.removeById = { 8
16 params: (() => { 9
17 return { 11
18 [ 12
19 /*$lab:coverage:off$*/ 12
20 _constants 12
21 /*$lab:coverage:on$*/ 12
22 . 12
23 /*$lab:coverage:off$*/ 12
24 PARAM_ACTION_ID 12
25 /*$lab:coverage:on$*/ 12
26 ]: ActionSchema.id.required().description('Id of the action') 12
27 }; 11
28 })() 9
29 }; 8
30 } 17
31
32 } 5
33
34 1 const actionValidate = new ActionValidate(); 20
35 1 module.exports = actionValidate; 21
36

lib/validators/agent.validator.js (transformed to lib/validators/agent.validator.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2 import {
3 PARAM_ACTION_ID,
4 PARAM_AGENT_ID
5 } from '../../util/constants';
6
7 1 const AgentSchema = require('../models/agent.model').schema;
8 1 const CategorySchema = require('../models/category.model').schema;
9 1 const ActionSchema = require('../models/action.model').schema;
10 1 const SlotSchema = require('../models/slot.model').schema;
11 1 const KeywordSchema = require('../models/keyword.model').schema;
12 1 const PostFormatSchema = require('../models/postFormat.model').schema;
13 1 const WebhookSchema = require('../models/webhook.model').schema;
14 1 const KeywordExampledSchema = require('../models/keyword-example.model').schema;
15
16 class AgentValidate {
17 constructor() {
18
19 this.findAllCategory = {
20 params: (() => {
21
22 return {
23 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
24 };
25 })()
26 };
27
28 this.create = {
29 payload: (() => {
30
31 return {
32 agentName: AgentSchema.agentName.required(),
33 description: AgentSchema.description,
34 language: AgentSchema.language.required().error(new Error('Please provide a valid language for the agent. Supported languages are: en, es, de, fr')),
35 timezone: AgentSchema.timezone.required(),
36 useWebhook: AgentSchema.useWebhook.required(),
37 usePostFormat: AgentSchema.usePostFormat.required(),
38 multiCategory: AgentSchema.multiCategory.required(),
39 categoryClassifierThreshold: AgentSchema.categoryClassifierThreshold.required(),
40 fallbackResponses: AgentSchema.fallbackResponses.required().min(1).error(new Error('please add at least one fallback response for the agent')),
41 extraTrainingData: AgentSchema.extraTrainingData,
42 enableModelsPerCategory: AgentSchema.enableModelsPerCategory
43 };
44 })()
45 };
46
47 this.removeById = {
48 params: (() => {
49
50 return {
51 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
52 };
53 })()
54 };
55
56 this.createCategory = {
57 params: (() => {
58
59 return {
60 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
61 };
62 })(),
63 payload: (() => {
64
65 return {
66 categoryName: CategorySchema.categoryName.required(),
67 enabled: CategorySchema.enabled.required(),
68 actionThreshold: CategorySchema.actionThreshold.required(),
69 lastTraining: CategorySchema.lastTraining,
70 model: CategorySchema.model,
71 extraTrainingData: CategorySchema.extraTrainingData
72 };
73 })()
74 };
75 this.createAction = {
76 params: (() => {
77
78 return {
79 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
80 };
81 })(),
82 payload: (() => {
83
84 return {
85 actionName: ActionSchema.actionName.required().error(new Error('The action name is required')),
86 useWebhook: ActionSchema.useWebhook.required().error(new Error('Please specify if this action use a webhook for fullfilment.')),
87 usePostFormat: ActionSchema.usePostFormat.required().error(new Error('Please specify if this action use a post format for fullfilment.')),
88 responses: ActionSchema.responses.required().min(1).error(new Error('Please specify at least one response.')),
89 slots: Joi.array().items({
90 slotName: SlotSchema.slotName.required(),
91 uiColor: SlotSchema.uiColor.required(),
92 keyword: SlotSchema.keyword,
93 keywordId: SlotSchema.keywordId,
94 isList: SlotSchema.isList.required(),
95 isRequired: SlotSchema.isRequired.required(),
96 textPrompts: SlotSchema.textPrompts
97 })
98 };
99 })()
100 };
101
102 this.createKeyword = {
103 params: (() => {
104
105 return {
106 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
107 };
108 })(),
109 payload: (() => {
110
111 return {
112 keywordName: KeywordSchema.keywordName.required(),
113 agent: KeywordSchema.agent.required(),
114 uiColor: KeywordSchema.uiColor,
115 regex: KeywordSchema.regex.allow('').allow(null),
116 type: KeywordSchema.type.allow('').allow(null).valid('learned', 'regex').optional().default('learned').error(new Error('Please provide valid keyword type among learned and regex')),
117 examples: Joi.array().items({
118 value: KeywordExampledSchema.value.required(),
119 synonyms: KeywordExampledSchema.synonyms.required()
120 }).min(1).required()
121 };
122 })()
123 };
124
125 this.findCategoryByIdByAgentId = {
126 params: (() => {
127
128 return {
129 agentId: AgentSchema.id.required().description('Id of the agent'),
130 categoryId: CategorySchema.id.required().description('Id of the category')
131 };
132 })()
133 };
134
135 this.updateById = {
136 params: (() => {
137
138 return {
139 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
140 };
141 })(),
142 payload: (() => {
143
144 return {
145 agentName: AgentSchema.agentName,
146 description: AgentSchema.description,
147 language: AgentSchema.language.error(new Error('Please provide a valid language for the agent. Supported languages are: en, es, de, fr')),
148 timezone: AgentSchema.timezone,
149 useWebhook: AgentSchema.useWebhook,
150 usePostFormat: AgentSchema.usePostFormat,
151 multiCategory: AgentSchema.multiCategory,
152 categoryClassifierThreshold: AgentSchema.categoryClassifierThreshold,
153 fallbackResponses: AgentSchema.fallbackResponses.min(1).error(new Error('please add at least one fallback response for the agent')),
154 status: AgentSchema.status,
155 lastTraining: AgentSchema.lastTraining,
156 extraTrainingData: AgentSchema.extraTrainingData,
157 enableModelsPerCategory: AgentSchema.enableModelsPerCategory,
158 model: AgentSchema.model
159 };
160 })()
161 };
162
163 this.addPostFormat = {
164 params: (() => {
165
166 return {
167 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
168 };
169 })(),
170 payload: (() => {
171
172 return {
173 postFormatPayload: PostFormatSchema.postFormatPayload.required()
174 };
175 })()
176 };
177 this.addWebhook = {
178 params: (() => {
179
180 return {
181 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent')
182 };
183 })(),
184 payload: (() => {
185
186 return {
187 webhookUrl: WebhookSchema.webhookUrl.required().error(new Error('The url is required. Please specify an url for the webhook.')),
188 webhookVerb: WebhookSchema.webhookVerb.valid('GET', 'PUT', 'POST', 'DELETE', 'PATCH').required().error(new Error('Please provide a valid verb for the webhook. Supported verbs are: GET, PUT, POST, DELETE, PATCH.')),
189 webhookPayloadType: WebhookSchema.webhookPayloadType.valid('None', 'JSON', 'XML').required().error(new Error('Please provide a valid payload type for the webhook. Supported types are: None, JSON, XML.')),
190 webhookPayload: WebhookSchema.webhookPayload.allow('').optional()
191 };
192 })()
193 };
194 this.addWebhookInAction = {
195 params: (() => {
196
197 return {
198 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent'),
199 [PARAM_ACTION_ID]: ActionSchema.id.required().description('Id of the action')
200 };
201 })(),
202 payload: (() => {
203
204 return {
205 webhookUrl: WebhookSchema.webhookUrl.required().error(new Error('The url is required. Please specify an url for the webhook.')),
206 webhookVerb: WebhookSchema.webhookVerb.valid('GET', 'PUT', 'POST', 'DELETE', 'PATCH').required().error(new Error('Please provide a valid verb for the webhook. Supported verbs are: GET, PUT, POST, DELETE, PATCH.')),
207 webhookPayloadType: WebhookSchema.webhookPayloadType.valid('None', 'JSON', 'XML').required().error(new Error('Please provide a valid payload type for the webhook. Supported types are: None, JSON, XML.')),
208 webhookPayload: WebhookSchema.webhookPayload.allow('').optional()
209 };
210 })()
211 };
212 this.addPostFormatInAction = {
213 params: (() => {
214
215 return {
216 [PARAM_AGENT_ID]: AgentSchema.id.required().description('Id of the agent'),
217 [PARAM_ACTION_ID]: ActionSchema.id.required().description('Id of the action')
218 };
219 })(),
220 payload: (() => {
221
222 return {
223 postFormatPayload: PostFormatSchema.postFormatPayload.required()
224 };
225 })()
226 };
227 }
228 }
229
230 1 const agentValidate = new AgentValidate();
231 1 module.exports = agentValidate;
232

lib/validators/agent.validator.js

100%
259
259
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const AgentSchema = require('../models/agent.model').schema; 7
21
22 1 const CategorySchema = require('../models/category.model').schema; 8
23
24 1 const ActionSchema = require('../models/action.model').schema; 9
25
26 1 const SlotSchema = require('../models/slot.model').schema; 10
27
28 1 const KeywordSchema = require('../models/keyword.model').schema; 11
29
30 1 const PostFormatSchema = require('../models/postFormat.model').schema; 12
31
32 1 const WebhookSchema = require('../models/webhook.model').schema; 13
33
34 1 const KeywordExampledSchema = require('../models/keyword-example.model').schema; 14
35
36 class AgentValidate { 16
37 constructor() { 17
38 this.findAllCategory = { 19
39 params: (() => { 20
40 return { 22
41 [ 23
42 /*$lab:coverage:off$*/ 23
43 _constants 23
44 /*$lab:coverage:on$*/ 23
45 . 23
46 /*$lab:coverage:off$*/ 23
47 PARAM_AGENT_ID 23
48 /*$lab:coverage:on$*/ 23
49 ]: AgentSchema.id.required().description('Id of the agent') 23
50 }; 22
51 })() 20
52 }; 19
53 1 this.create = { 28
54 payload: (() => { 29
55 return { 31
56 agentName: AgentSchema.agentName.required(), 31
57 description: AgentSchema.description, 31
58 language: AgentSchema.language.required().error(new Error('Please provide a valid language for the agent. Supported languages are: en, es, de, fr')), 31
59 timezone: AgentSchema.timezone.required(), 31
60 useWebhook: AgentSchema.useWebhook.required(), 31
61 usePostFormat: AgentSchema.usePostFormat.required(), 31
62 multiCategory: AgentSchema.multiCategory.required(), 31
63 categoryClassifierThreshold: AgentSchema.categoryClassifierThreshold.required(), 31
64 fallbackResponses: AgentSchema.fallbackResponses.required().min(1).error(new Error('please add at least one fallback response for the agent')), 31
65 extraTrainingData: AgentSchema.extraTrainingData, 31
66 enableModelsPerCategory: AgentSchema.enableModelsPerCategory 42
67 }; 31
68 })() 29
69 }; 28
70 1 this.removeById = { 47
71 params: (() => { 48
72 return { 50
73 [ 51
74 /*$lab:coverage:off$*/ 51
75 _constants 51
76 /*$lab:coverage:on$*/ 51
77 . 51
78 /*$lab:coverage:off$*/ 51
79 PARAM_AGENT_ID 51
80 /*$lab:coverage:on$*/ 51
81 ]: AgentSchema.id.required().description('Id of the agent') 51
82 }; 50
83 })() 48
84 }; 47
85 1 this.createCategory = { 56
86 params: (() => { 57
87 return { 59
88 [ 60
89 /*$lab:coverage:off$*/ 60
90 _constants 60
91 /*$lab:coverage:on$*/ 60
92 . 60
93 /*$lab:coverage:off$*/ 60
94 PARAM_AGENT_ID 60
95 /*$lab:coverage:on$*/ 60
96 ]: AgentSchema.id.required().description('Id of the agent') 60
97 }; 59
98 })(), 56
99 payload: (() => { 63
100 return { 65
101 categoryName: CategorySchema.categoryName.required(), 65
102 enabled: CategorySchema.enabled.required(), 65
103 actionThreshold: CategorySchema.actionThreshold.required(), 65
104 lastTraining: CategorySchema.lastTraining, 65
105 model: CategorySchema.model, 65
106 extraTrainingData: CategorySchema.extraTrainingData 71
107 }; 65
108 })() 63
109 }; 56
110 1 this.createAction = { 75
111 params: (() => { 76
112 return { 78
113 [ 79
114 /*$lab:coverage:off$*/ 79
115 _constants 79
116 /*$lab:coverage:on$*/ 79
117 . 79
118 /*$lab:coverage:off$*/ 79
119 PARAM_AGENT_ID 79
120 /*$lab:coverage:on$*/ 79
121 ]: AgentSchema.id.required().description('Id of the agent') 79
122 }; 78
123 })(), 75
124 payload: (() => { 82
125 return { 84
126 actionName: ActionSchema.actionName.required().error(new Error('The action name is required')), 84
127 useWebhook: ActionSchema.useWebhook.required().error(new Error('Please specify if this action use a webhook for fullfilment.')), 84
128 usePostFormat: ActionSchema.usePostFormat.required().error(new Error('Please specify if this action use a post format for fullfilment.')), 84
129 responses: ActionSchema.responses.required().min(1).error(new Error('Please specify at least one response.')), 84
130 slots: 89
131 /*$lab:coverage:off$*/ 89
132 _joi 89
133 /*$lab:coverage:on$*/ 89
134 . 89
135 /*$lab:coverage:off$*/ 89
136 default 89
137 /*$lab:coverage:on$*/ 89
138 .array().items({ 89
139 slotName: SlotSchema.slotName.required(), 89
140 uiColor: SlotSchema.uiColor.required(), 89
141 keyword: SlotSchema.keyword, 89
142 keywordId: SlotSchema.keywordId, 89
143 isList: SlotSchema.isList.required(), 89
144 isRequired: SlotSchema.isRequired.required(), 89
145 textPrompts: SlotSchema.textPrompts 96
146 }) 89
147 }; 84
148 })() 82
149 }; 75
150 1 this.createKeyword = { 102
151 params: (() => { 103
152 return { 105
153 [ 106
154 /*$lab:coverage:off$*/ 106
155 _constants 106
156 /*$lab:coverage:on$*/ 106
157 . 106
158 /*$lab:coverage:off$*/ 106
159 PARAM_AGENT_ID 106
160 /*$lab:coverage:on$*/ 106
161 ]: AgentSchema.id.required().description('Id of the agent') 106
162 }; 105
163 })(), 102
164 payload: (() => { 109
165 return { 111
166 keywordName: KeywordSchema.keywordName.required(), 111
167 agent: KeywordSchema.agent.required(), 111
168 uiColor: KeywordSchema.uiColor, 111
169 regex: KeywordSchema.regex.allow('').allow(null), 111
170 type: KeywordSchema.type.allow('').allow(null).valid('learned', 'regex').optional().default('learned').error(new Error('Please provide valid keyword type among learned and regex')), 111
171 examples: 117
172 /*$lab:coverage:off$*/ 117
173 _joi 117
174 /*$lab:coverage:on$*/ 117
175 . 117
176 /*$lab:coverage:off$*/ 117
177 default 117
178 /*$lab:coverage:on$*/ 117
179 .array().items({ 117
180 value: KeywordExampledSchema.value.required(), 117
181 synonyms: KeywordExampledSchema.synonyms.required() 119
182 }).min(1).required() 117
183 }; 111
184 })() 109
185 }; 102
186 1 this.findCategoryByIdByAgentId = { 125
187 params: (() => { 126
188 return { 128
189 agentId: AgentSchema.id.required().description('Id of the agent'), 128
190 categoryId: CategorySchema.id.required().description('Id of the category') 130
191 }; 128
192 })() 126
193 }; 125
194 1 this.updateById = { 135
195 params: (() => { 136
196 return { 138
197 [ 139
198 /*$lab:coverage:off$*/ 139
199 _constants 139
200 /*$lab:coverage:on$*/ 139
201 . 139
202 /*$lab:coverage:off$*/ 139
203 PARAM_AGENT_ID 139
204 /*$lab:coverage:on$*/ 139
205 ]: AgentSchema.id.required().description('Id of the agent') 139
206 }; 138
207 })(), 135
208 payload: (() => { 142
209 return { 144
210 agentName: AgentSchema.agentName, 144
211 description: AgentSchema.description, 144
212 language: AgentSchema.language.error(new Error('Please provide a valid language for the agent. Supported languages are: en, es, de, fr')), 144
213 timezone: AgentSchema.timezone, 144
214 useWebhook: AgentSchema.useWebhook, 144
215 usePostFormat: AgentSchema.usePostFormat, 144
216 multiCategory: AgentSchema.multiCategory, 144
217 categoryClassifierThreshold: AgentSchema.categoryClassifierThreshold, 144
218 fallbackResponses: AgentSchema.fallbackResponses.min(1).error(new Error('please add at least one fallback response for the agent')), 144
219 status: AgentSchema.status, 144
220 lastTraining: AgentSchema.lastTraining, 144
221 extraTrainingData: AgentSchema.extraTrainingData, 144
222 enableModelsPerCategory: AgentSchema.enableModelsPerCategory, 144
223 model: AgentSchema.model 158
224 }; 144
225 })() 142
226 }; 135
227 1 this.addPostFormat = { 163
228 params: (() => { 164
229 return { 166
230 [ 167
231 /*$lab:coverage:off$*/ 167
232 _constants 167
233 /*$lab:coverage:on$*/ 167
234 . 167
235 /*$lab:coverage:off$*/ 167
236 PARAM_AGENT_ID 167
237 /*$lab:coverage:on$*/ 167
238 ]: AgentSchema.id.required().description('Id of the agent') 167
239 }; 166
240 })(), 163
241 payload: (() => { 170
242 return { 172
243 postFormatPayload: PostFormatSchema.postFormatPayload.required() 173
244 }; 172
245 })() 170
246 }; 163
247 1 this.addWebhook = { 177
248 params: (() => { 178
249 return { 180
250 [ 181
251 /*$lab:coverage:off$*/ 181
252 _constants 181
253 /*$lab:coverage:on$*/ 181
254 . 181
255 /*$lab:coverage:off$*/ 181
256 PARAM_AGENT_ID 181
257 /*$lab:coverage:on$*/ 181
258 ]: AgentSchema.id.required().description('Id of the agent') 181
259 }; 180
260 })(), 177
261 payload: (() => { 184
262 return { 186
263 webhookUrl: WebhookSchema.webhookUrl.required().error(new Error('The url is required. Please specify an url for the webhook.')), 186
264 webhookVerb: WebhookSchema.webhookVerb.valid('GET', 'PUT', 'POST', 'DELETE', 'PATCH').required().error(new Error('Please provide a valid verb for the webhook. Supported verbs are: GET, PUT, POST, DELETE, PATCH.')), 186
265 webhookPayloadType: WebhookSchema.webhookPayloadType.valid('None', 'JSON', 'XML').required().error(new Error('Please provide a valid payload type for the webhook. Supported types are: None, JSON, XML.')), 186
266 webhookPayload: WebhookSchema.webhookPayload.allow('').optional() 190
267 }; 186
268 })() 184
269 }; 177
270 1 this.addWebhookInAction = { 194
271 params: (() => { 195
272 return { 197
273 [ 198
274 /*$lab:coverage:off$*/ 198
275 _constants 198
276 /*$lab:coverage:on$*/ 198
277 . 198
278 /*$lab:coverage:off$*/ 198
279 PARAM_AGENT_ID 198
280 /*$lab:coverage:on$*/ 198
281 ]: AgentSchema.id.required().description('Id of the agent'), 197
282 [ 199
283 /*$lab:coverage:off$*/ 199
284 _constants 199
285 /*$lab:coverage:on$*/ 199
286 . 199
287 /*$lab:coverage:off$*/ 199
288 PARAM_ACTION_ID 199
289 /*$lab:coverage:on$*/ 199
290 ]: ActionSchema.id.required().description('Id of the action') 199
291 }; 197
292 })(), 194
293 payload: (() => { 202
294 return { 204
295 webhookUrl: WebhookSchema.webhookUrl.required().error(new Error('The url is required. Please specify an url for the webhook.')), 204
296 webhookVerb: WebhookSchema.webhookVerb.valid('GET', 'PUT', 'POST', 'DELETE', 'PATCH').required().error(new Error('Please provide a valid verb for the webhook. Supported verbs are: GET, PUT, POST, DELETE, PATCH.')), 204
297 webhookPayloadType: WebhookSchema.webhookPayloadType.valid('None', 'JSON', 'XML').required().error(new Error('Please provide a valid payload type for the webhook. Supported types are: None, JSON, XML.')), 204
298 webhookPayload: WebhookSchema.webhookPayload.allow('').optional() 208
299 }; 204
300 })() 202
301 }; 194
302 1 this.addPostFormatInAction = { 212
303 params: (() => { 213
304 return { 215
305 [ 216
306 /*$lab:coverage:off$*/ 216
307 _constants 216
308 /*$lab:coverage:on$*/ 216
309 . 216
310 /*$lab:coverage:off$*/ 216
311 PARAM_AGENT_ID 216
312 /*$lab:coverage:on$*/ 216
313 ]: AgentSchema.id.required().description('Id of the agent'), 215
314 [ 217
315 /*$lab:coverage:off$*/ 217
316 _constants 217
317 /*$lab:coverage:on$*/ 217
318 . 217
319 /*$lab:coverage:off$*/ 217
320 PARAM_ACTION_ID 217
321 /*$lab:coverage:on$*/ 217
322 ]: ActionSchema.id.required().description('Id of the action') 217
323 }; 215
324 })(), 212
325 payload: (() => { 220
326 return { 222
327 postFormatPayload: PostFormatSchema.postFormatPayload.required() 223
328 }; 222
329 })() 220
330 }; 212
331 } 227
332
333 } 16
334
335 1 const agentValidate = new AgentValidate(); 230
336 1 module.exports = agentValidate; 231
337

lib/validators/category.validator.js (transformed to lib/validators/category.validator.js)

%
Line Lint Hits Source
1 import { PARAM_CATEGORY_ID } from '../../util/constants';
2
3 1 const CategorySchema = require('../models/category.model').schema;
4
5 class CategoryValidate {
6 constructor() {
7
8 this.removeById = {
9 params: (() => {
10
11 return {
12 [PARAM_CATEGORY_ID]: CategorySchema.id.required().description('Id of the category')
13 };
14 })()
15 };
16 }
17 }
18
19 1 const categoryValidate = new CategoryValidate();
20 1 module.exports = categoryValidate;
21

lib/validators/category.validator.js

100%
22
22
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 const CategorySchema = require('../models/category.model').schema; 3
12
13 class CategoryValidate { 5
14 constructor() { 6
15 this.removeById = { 8
16 params: (() => { 9
17 return { 11
18 [ 12
19 /*$lab:coverage:off$*/ 12
20 _constants 12
21 /*$lab:coverage:on$*/ 12
22 . 12
23 /*$lab:coverage:off$*/ 12
24 PARAM_CATEGORY_ID 12
25 /*$lab:coverage:on$*/ 12
26 ]: CategorySchema.id.required().description('Id of the category') 12
27 }; 11
28 })() 9
29 }; 8
30 } 16
31
32 } 5
33
34 1 const categoryValidate = new CategoryValidate(); 19
35 1 module.exports = categoryValidate; 20
36

lib/validators/global.validator.js (transformed to lib/validators/global.validator.js)

%
Line Lint Hits Source
1 import Joi from 'joi';
2 import {
3 PARAM_DIRECTION,
4 PARAM_FIELD,
5 PARAM_LIMIT,
6 PARAM_SKIP,
7 PARAM_VALUE
8 } from '../../util/constants';
9
10 class AgentValidate {
11 constructor() {
12
13 this.searchByfield = {
14 params: (() => {
15
16 return {
17 [PARAM_FIELD]: Joi.string().required().description('Field name. Must be indexed. If unique then a single value will be returned.'),
18 [PARAM_VALUE]: Joi.string().required().description('Value to search for')
19 };
20 })()
21 };
22
23 this.findAll = {
24 query: (() => {
25
26 return {
27 [PARAM_SKIP]: Joi
28 .number()
29 .integer()
30 .optional()
31 .description('Number of resources to skip. Default=0'),
32 [PARAM_LIMIT]: Joi
33 .number()
34 .integer()
35 .optional()
36 .description('Number of resources to return. Default=50'),
37 [PARAM_DIRECTION]: Joi
38 .string()
39 .optional()
40 .allow('ASC', 'DESC')
41 .description('Sort direction. Default= ASC'),
42 [PARAM_FIELD]: Joi
43 .string()
44 .optional()
45 .description('Field used to do the sorting')
46 };
47 })()
48 };
49
50 }
51 }
52
53 1 const agentValidate = new AgentValidate();
54 1 module.exports = agentValidate;
55

lib/validators/global.validator.js

100%
80
80
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _joi = _interopRequireDefault(require("joi")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _constants = require("../../util/constants") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 class AgentValidate { 10
21 constructor() { 11
22 this.searchByfield = { 13
23 params: (() => { 14
24 return { 16
25 [ 17
26 /*$lab:coverage:off$*/ 17
27 _constants 17
28 /*$lab:coverage:on$*/ 17
29 . 17
30 /*$lab:coverage:off$*/ 17
31 PARAM_FIELD 17
32 /*$lab:coverage:on$*/ 17
33 ]: 17
34 /*$lab:coverage:off$*/ 17
35 _joi 17
36 /*$lab:coverage:on$*/ 17
37 . 17
38 /*$lab:coverage:off$*/ 17
39 default 17
40 /*$lab:coverage:on$*/ 17
41 .string().required().description('Field name. Must be indexed. If unique then a single value will be returned.'), 16
42 [ 18
43 /*$lab:coverage:off$*/ 18
44 _constants 18
45 /*$lab:coverage:on$*/ 18
46 . 18
47 /*$lab:coverage:off$*/ 18
48 PARAM_VALUE 18
49 /*$lab:coverage:on$*/ 18
50 ]: 18
51 /*$lab:coverage:off$*/ 18
52 _joi 18
53 /*$lab:coverage:on$*/ 18
54 . 18
55 /*$lab:coverage:off$*/ 18
56 default 18
57 /*$lab:coverage:on$*/ 18
58 .string().required().description('Value to search for') 18
59 }; 16
60 })() 14
61 }; 13
62 1 this.findAll = { 23
63 query: (() => { 24
64 return { 26
65 [ 27
66 /*$lab:coverage:off$*/ 27
67 _constants 27
68 /*$lab:coverage:on$*/ 27
69 . 27
70 /*$lab:coverage:off$*/ 27
71 PARAM_SKIP 27
72 /*$lab:coverage:on$*/ 27
73 ]: 27
74 /*$lab:coverage:off$*/ 27
75 _joi 27
76 /*$lab:coverage:on$*/ 27
77 . 27
78 /*$lab:coverage:off$*/ 27
79 default 27
80 /*$lab:coverage:on$*/ 27
81 .number().integer().optional().description('Number of resources to skip. Default=0'), 26
82 [ 32
83 /*$lab:coverage:off$*/ 32
84 _constants 32
85 /*$lab:coverage:on$*/ 32
86 . 32
87 /*$lab:coverage:off$*/ 32
88 PARAM_LIMIT 32
89 /*$lab:coverage:on$*/ 32
90 ]: 32
91 /*$lab:coverage:off$*/ 32
92 _joi 32
93 /*$lab:coverage:on$*/ 32
94 . 32
95 /*$lab:coverage:off$*/ 32
96 default 32
97 /*$lab:coverage:on$*/ 32
98 .number().integer().optional().description('Number of resources to return. Default=50'), 26
99 [ 37
100 /*$lab:coverage:off$*/ 37
101 _constants 37
102 /*$lab:coverage:on$*/ 37
103 . 37
104 /*$lab:coverage:off$*/ 37
105 PARAM_DIRECTION 37
106 /*$lab:coverage:on$*/ 37
107 ]: 37
108 /*$lab:coverage:off$*/ 37
109 _joi 37
110 /*$lab:coverage:on$*/ 37
111 . 37
112 /*$lab:coverage:off$*/ 37
113 default 37
114 /*$lab:coverage:on$*/ 37
115 .string().optional().allow('ASC', 'DESC').description('Sort direction. Default= ASC'), 26
116 [ 42
117 /*$lab:coverage:off$*/ 42
118 _constants 42
119 /*$lab:coverage:on$*/ 42
120 . 42
121 /*$lab:coverage:off$*/ 42
122 PARAM_FIELD 42
123 /*$lab:coverage:on$*/ 42
124 ]: 42
125 /*$lab:coverage:off$*/ 42
126 _joi 42
127 /*$lab:coverage:on$*/ 42
128 . 42
129 /*$lab:coverage:off$*/ 42
130 default 42
131 /*$lab:coverage:on$*/ 42
132 .string().optional().description('Field used to do the sorting') 42
133 }; 26
134 })() 24
135 }; 23
136 } 50
137
138 } 10
139
140 1 const agentValidate = new AgentValidate(); 53
141 1 module.exports = agentValidate; 54
142

lib/validators/keyword.validator.js (transformed to lib/validators/keyword.validator.js)

%
Line Lint Hits Source
1 import { ROUTE_KEYWORD_ID } from '../../util/constants';
2
3 1 const KeywordSchema = require('../models/keyword.model').schema;
4
5 class KeywordValidate {
6 constructor() {
7
8 this.removeById = {
9 params: (() => {
10
11 return {
12 [ROUTE_KEYWORD_ID]: KeywordSchema.id.required().description('Id of the keyword')
13 };
14 })()
15 };
16
17 }
18 }
19
20 1 const keywordValidate = new KeywordValidate();
21 1 module.exports = keywordValidate;
22

lib/validators/keyword.validator.js

100%
22
22
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 const KeywordSchema = require('../models/keyword.model').schema; 3
12
13 class KeywordValidate { 5
14 constructor() { 6
15 this.removeById = { 8
16 params: (() => { 9
17 return { 11
18 [ 12
19 /*$lab:coverage:off$*/ 12
20 _constants 12
21 /*$lab:coverage:on$*/ 12
22 . 12
23 /*$lab:coverage:off$*/ 12
24 ROUTE_KEYWORD_ID 12
25 /*$lab:coverage:on$*/ 12
26 ]: KeywordSchema.id.required().description('Id of the keyword') 12
27 }; 11
28 })() 9
29 }; 8
30 } 17
31
32 } 5
33
34 1 const keywordValidate = new KeywordValidate(); 20
35 1 module.exports = keywordValidate; 21
36

lib/validators/settings.validator.js (transformed to lib/validators/settings.validator.js)

%
Line Lint Hits Source
1 import {
2 PARAM_NAME,
3 PARAM_VALUE
4 } from '../../util/constants';
5
6 1 const SettingsModel = require('../models/settings.model').schema;
7
8 class SettingsValidate {
9 constructor() {
10
11 this.create = {
12 payload: (() => {
13
14 return {
15 [PARAM_NAME]: SettingsModel.name.required().description('Name'),
16 [PARAM_VALUE]: SettingsModel.value.required().description('Value')
17 };
18 })()
19 };
20 this.findByName = {
21 params: (() => {
22
23 return {
24 [PARAM_NAME]: SettingsModel.name.required().description('Name')
25 };
26 })()
27 };
28
29 this.updateByName = {
30 params: (() => {
31
32 return {
33 [PARAM_NAME]: SettingsModel.name.required().description('Name')
34 };
35 })(),
36 payload: (() => {
37
38 return {
39 [PARAM_VALUE]: SettingsModel.value.required().description('Value')
40 };
41 })()
42 };
43
44 }
45 }
46
47 1 const actionValidate = new SettingsValidate();
48 1 module.exports = actionValidate;
49

lib/validators/settings.validator.js

100%
58
58
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 const SettingsModel = require('../models/settings.model').schema; 6
12
13 class SettingsValidate { 8
14 constructor() { 9
15 this.create = { 11
16 payload: (() => { 12
17 return { 14
18 [ 15
19 /*$lab:coverage:off$*/ 15
20 _constants 15
21 /*$lab:coverage:on$*/ 15
22 . 15
23 /*$lab:coverage:off$*/ 15
24 PARAM_NAME 15
25 /*$lab:coverage:on$*/ 15
26 ]: SettingsModel.name.required().description('Name'), 14
27 [ 16
28 /*$lab:coverage:off$*/ 16
29 _constants 16
30 /*$lab:coverage:on$*/ 16
31 . 16
32 /*$lab:coverage:off$*/ 16
33 PARAM_VALUE 16
34 /*$lab:coverage:on$*/ 16
35 ]: SettingsModel.value.required().description('Value') 16
36 }; 14
37 })() 12
38 }; 11
39 1 this.findByName = { 20
40 params: (() => { 21
41 return { 23
42 [ 24
43 /*$lab:coverage:off$*/ 24
44 _constants 24
45 /*$lab:coverage:on$*/ 24
46 . 24
47 /*$lab:coverage:off$*/ 24
48 PARAM_NAME 24
49 /*$lab:coverage:on$*/ 24
50 ]: SettingsModel.name.required().description('Name') 24
51 }; 23
52 })() 21
53 }; 20
54 1 this.updateByName = { 29
55 params: (() => { 30
56 return { 32
57 [ 33
58 /*$lab:coverage:off$*/ 33
59 _constants 33
60 /*$lab:coverage:on$*/ 33
61 . 33
62 /*$lab:coverage:off$*/ 33
63 PARAM_NAME 33
64 /*$lab:coverage:on$*/ 33
65 ]: SettingsModel.name.required().description('Name') 33
66 }; 32
67 })(), 29
68 payload: (() => { 36
69 return { 38
70 [ 39
71 /*$lab:coverage:off$*/ 39
72 _constants 39
73 /*$lab:coverage:on$*/ 39
74 . 39
75 /*$lab:coverage:off$*/ 39
76 PARAM_VALUE 39
77 /*$lab:coverage:on$*/ 39
78 ]: SettingsModel.value.required().description('Value') 39
79 }; 38
80 })() 36
81 }; 29
82 } 44
83
84 } 8
85
86 1 const actionValidate = new SettingsValidate(); 47
87 1 module.exports = actionValidate; 48
88

server/index.js (transformed to server/index.js)

%
Line Lint Hits Source
1 import Glue from 'glue';
2 import Manifest from './manifest';
3
4 const logger = require('../util/logger')({ name: `server` });
5
6 exports.deployment = async (start) => {
7
8 const manifest = Manifest.get('/', process.env);
9 const server = await Glue.compose(manifest, { relativeTo: __dirname });
10
11 5 await server.initialize();
12
13 5 if (!start) {
14 4 return server;
15 }
16
17 1 await server.start();
18
19 1 logger.info(`Server started at ${server.info.uri}`);
20 1 return server;
21 };
22
23
if (
!module.parent) {
24
25 exports.deployment(true);
26
27 process.on('unhandledRejection', (err) => {
28
29
throw err;
30 });
31 }
32

server/index.js

89.74%
39
35
4
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _glue = _interopRequireDefault(require("glue")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _manifest = _interopRequireDefault(require("./manifest")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const logger = require('../util/logger')({ 4
21 name: `server` 4
22 }); 4
23
24 1 exports.deployment = async start => { 6
25 const manifest = 8
26 /*$lab:coverage:off$*/ 8
27 _manifest 8
28 /*$lab:coverage:on$*/ 8
29 . 8
30 /*$lab:coverage:off$*/ 8
31 default 8
32 /*$lab:coverage:on$*/ 8
33 .get('/', process.env); 8
34
35 5 const server = await ( 9
36 /*$lab:coverage:off$*/ 9
37 _glue 9
38 /*$lab:coverage:on$*/ 9
39 . 9
40 /*$lab:coverage:off$*/ 9
41 default 9
42 /*$lab:coverage:on$*/ 9
43 .compose(manifest, { 9
44 relativeTo: __dirname 9
45 }) 9
46 ); 9
47 5 await server.initialize(); 11
48
49 5 if (!start) { 13
50 4 return server; 14
51 } 15
52
53 1 await server.start(); 17
54 1 logger.info(`Server started at ${server.info.uri}`); 19
55 1 return server; 20
56 }; 6
57
58
if (
!module.parent
) {
23
59 exports.deployment(true); 25
60 process.on('unhandledRejection', err => { 27
61
throw err;
29
62 }); 27
63 } 31
64

server/manifest.js (transformed to server/manifest.js)

%
Line Lint Hits Source
1 import Confidence from 'confidence';
2 import Dotenv from 'dotenv';
3 import Nes from 'nes';
4 import Schmervice from 'schmervice';
5 import Toys from 'toys';
6
7 // Pull .env into process.env
8 Dotenv.config({ path: `${__dirname}/.env` });
9
10 // Glue manifest as a confidence store
11 module.exports = new Confidence.Store({
12 server: {
13 host: '0.0.0.0',
14
port:
process.env.PORT || 3000,
15 debug: {
16 $filter: 'NODE_ENV',
17 development: {
18 log: ['error', 'implementation', 'internal'],
19 request: ['error', 'implementation', 'internal']
20 }
21 }
22 },
23 register: {
24 plugins: [
25
26 {
27 plugin: Schmervice,
28 options: {}
29 },
30 {
31
32 plugin: './plugins/chuck',
33 options: { //options passed to axios
34 baseURL: 'https://api.chucknorris.io/jokes'
35 }
36 },
37 {
38
39 plugin: './plugins/redis',
40
options: {
41
host:
process.env.REDIS_HOST ||
'redis',
42
port:
process.env.REDIS_PORT || 6379,
43
retry:
process.env.INIT_RETRY || 10,
44
retryTimeout:
process.env.INIT_RETRY_TIMEOUT || 15000
45 }
46 },
47 {
48 plugin: Nes,
49 options: {}
50 },
51 {
52 plugin: '../lib', // Main plugin
53 options: {}
54 },
55 {
56 plugin: {
57 $filter: 'NODE_ENV',
58 $default: 'hpal-debug',
59 production: Toys.noop
60 }
61 },
62 {
63 plugin: './plugins/swagger',
64 options: {
65 title: 'Articulate API Documentation',
66 path: '/documentation',
67 swaggerOptions: {
68 validatorUrl: false
69 },
70 authorization: false
71 }
72 }
73 ]
74 }
75 });
76

server/manifest.js

94.62%
93
88
5
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _confidence = _interopRequireDefault(require("confidence")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _dotenv = _interopRequireDefault(require("dotenv")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _nes = _interopRequireDefault(require("nes")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _schmervice = _interopRequireDefault(require("schmervice")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 1 var 5
30 /*$lab:coverage:off$*/ 5
31 _toys = _interopRequireDefault(require("toys")) 5
32 /*$lab:coverage:on$*/ 5
33 ; 5
34
35 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37 /*$lab:coverage:on$*/
38 // Pull .env into process.env 7
39
40 /*$lab:coverage:off$*/ 8
41 1 _dotenv 8
42 /*$lab:coverage:on$*/ 8
43 . 8
44 /*$lab:coverage:off$*/ 8
45 default 8
46 /*$lab:coverage:on$*/ 8
47 .config({ 8
48 path: `${__dirname}/.env` 8
49 }); // Glue manifest as a confidence store 10
50
51
52 1 module.exports = new 11
53 /*$lab:coverage:off$*/ 11
54 _confidence 11
55 /*$lab:coverage:on$*/ 11
56 . 11
57 /*$lab:coverage:off$*/ 11
58 default 11
59 /*$lab:coverage:on$*/ 11
60 .Store({ 11
61 server: { 12
62 host: '0.0.0.0', 12
63
port:
process.env.PORT
|| 3000,
12
64 debug: { 15
65 $filter: 'NODE_ENV', 15
66 development: { 17
67 log: ['error', 'implementation', 'internal'], 17
68 request: ['error', 'implementation', 'internal'] 19
69 } 17
70 } 15
71 }, 11
72 register: { 23
73 plugins: [{ 26
74 plugin: 27
75 /*$lab:coverage:off$*/ 27
76 _schmervice 27
77 /*$lab:coverage:on$*/ 27
78 . 27
79 /*$lab:coverage:off$*/ 27
80 default 27
81 /*$lab:coverage:on$*/ 26
82 , 26
83 options: {} 28
84 }, { 30
85 plugin: './plugins/chuck', 30
86 options: { 33
87 //options passed to axios 33
88 baseURL: 'https://api.chucknorris.io/jokes' 34
89 } 33
90 }, { 37
91 plugin: './plugins/redis', 37
92 options: { 40
93
host:
process.env.REDIS_HOST
||
'redis'
,
40
94
port:
process.env.REDIS_PORT
|| 6379,
40
95
retry:
process.env.INIT_RETRY
|| 10,
40
96
retryTimeout:
process.env.INIT_RETRY_TIMEOUT
|| 15000
44
97 } 40
98 }, { 47
99 plugin: 48
100 /*$lab:coverage:off$*/ 48
101 _nes 48
102 /*$lab:coverage:on$*/ 48
103 . 48
104 /*$lab:coverage:off$*/ 48
105 default 48
106 /*$lab:coverage:on$*/ 47
107 , 47
108 options: {} 49
109 }, { 51
110 plugin: '../lib', 51
111 // Main plugin 52
112 options: {} 53
113 }, { 55
114 plugin: { 56
115 $filter: 'NODE_ENV', 56
116 $default: 'hpal-debug', 56
117 production: 59
118 /*$lab:coverage:off$*/ 59
119 _toys 59
120 /*$lab:coverage:on$*/ 59
121 . 59
122 /*$lab:coverage:off$*/ 59
123 default 59
124 /*$lab:coverage:on$*/ 59
125 .noop 59
126 } 56
127 }, { 62
128 plugin: './plugins/swagger', 62
129 options: { 64
130 title: 'Articulate API Documentation', 64
131 path: '/documentation', 64
132 swaggerOptions: { 67
133 validatorUrl: false 68
134 }, 64
135 authorization: false 70
136 } 64
137 }] 24
138 } 23
139 }); 11
140

server/plugins/swagger.js (transformed to server/plugins/swagger.js)

%
Line Lint Hits Source
1 import HapiSwagger from 'hapi-swagger';
2 import Inert from 'inert';
3 import Vision from 'vision';
4 import Package from '../../package.json';
5
6 1 const name = 'swagger';
7 const logger = require('../../util/logger')({ name: `plugin:${name}` });
8
9 module.exports = {
10 name,
11 async register(server) {
12
13 await server.register([
14 Inert,
15 Vision,
16 {
17 plugin: HapiSwagger,
18 options: {
19 info: {
20 version: Package.version
21 }
22 }
23 }
24 ]);
25 5 logger.info('registered');
26 5 logger.info(`TODO: add hapi-swaggered-ui`); // TODO
27 }
28 };
29

server/plugins/swagger.js

100%
49
49
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _hapiSwagger = _interopRequireDefault(require("hapi-swagger")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _inert = _interopRequireDefault(require("inert")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _vision = _interopRequireDefault(require("vision")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 1 var 4
24 /*$lab:coverage:off$*/ 4
25 _package = _interopRequireDefault(require("../../package.json")) 4
26 /*$lab:coverage:on$*/ 4
27 ; 4
28
29 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
31 /*$lab:coverage:on$*/
32 1 const name = 'swagger'; 6
33
34 1 const logger = require('../../util/logger')({ 7
35 name: `plugin:${name}` 7
36 }); 7
37
38 1 module.exports = { 9
39 name, 9
40
41 async register(server) { 11
42 await server.register([ 13
43 /*$lab:coverage:off$*/ 14
44 _inert 14
45 /*$lab:coverage:on$*/ 14
46 . 14
47 /*$lab:coverage:off$*/ 14
48 default 14
49 /*$lab:coverage:on$*/ 13
50 , 13
51 /*$lab:coverage:off$*/ 15
52 _vision 15
53 /*$lab:coverage:on$*/ 15
54 . 15
55 /*$lab:coverage:off$*/ 15
56 default 15
57 /*$lab:coverage:on$*/ 13
58 , { 16
59 plugin: 17
60 /*$lab:coverage:off$*/ 17
61 _hapiSwagger 17
62 /*$lab:coverage:on$*/ 17
63 . 17
64 /*$lab:coverage:off$*/ 17
65 default 17
66 /*$lab:coverage:on$*/ 16
67 , 16
68 options: { 18
69 info: { 19
70 version: 20
71 /*$lab:coverage:off$*/ 20
72 _package 20
73 /*$lab:coverage:on$*/ 20
74 . 20
75 /*$lab:coverage:off$*/ 20
76 default 20
77 /*$lab:coverage:on$*/ 20
78 .version 20
79 } 19
80 } 18
81 }]); 13
82 5 logger.info('registered'); 25
83 5 logger.info(`TODO: add hapi-swaggered-ui`); // TODO 26
84 } 27
85
86 }; 9
87

server/plugins/chuck/index.js (transformed to server/plugins/chuck/index.js)

%
Line Lint Hits Source
1 import Axios from 'axios';
2 import Package from '../../../package.json';
3 import InitializeModels from './lib/initialize-models';
4
5 1 const name = 'chuck';
6 const logger = require('../../../util/logger')({ name: `plugin:${name}` });
7
8 module.exports = {
9 name,
10 pkg: Package,
11 async register(server, options) {
12
13 // Set config defaults when creating the instance
14 const axios = Axios.create(options);
15 const models = await InitializeModels({ http: axios, path: `${__dirname}/models` });
16 5 server.app[name] = models;
17 5 logger.info('registered');
18 }
19 };
20

server/plugins/chuck/index.js

100%
42
42
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _axios = _interopRequireDefault(require("axios")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _package = _interopRequireDefault(require("../../../package.json")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _initializeModels = _interopRequireDefault(require("./lib/initialize-models")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 const name = 'chuck'; 5
27
28 1 const logger = require('../../../util/logger')({ 6
29 name: `plugin:${name}` 6
30 }); 6
31
32 1 module.exports = { 8
33 name, 8
34 pkg: 10
35 /*$lab:coverage:off$*/ 10
36 _package 10
37 /*$lab:coverage:on$*/ 10
38 . 10
39 /*$lab:coverage:off$*/ 10
40 default 10
41 /*$lab:coverage:on$*/ 8
42 , 8
43
44 async register(server, options) { 11
45 // Set config defaults when creating the instance 13
46 const axios = 14
47 /*$lab:coverage:off$*/ 14
48 _axios 14
49 /*$lab:coverage:on$*/ 14
50 . 14
51 /*$lab:coverage:off$*/ 14
52 default 14
53 /*$lab:coverage:on$*/ 14
54 .create(options); 14
55
56 5 const models = await ( 15
57 /*$lab:coverage:off$*/ 15
58 (0, 15
59 /*$lab:coverage:on$*/ 15
60
61 /*$lab:coverage:off$*/ 15
62 _initializeModels 15
63 /*$lab:coverage:on$*/ 15
64 . 15
65 /*$lab:coverage:off$*/ 15
66 default) 15
67 /*$lab:coverage:on$*/ 15
68 ({ 15
69 http: axios, 15
70 path: `${__dirname}/models` 15
71 }) 15
72 ); 15
73 5 server.app[name] = models; 16
74 5 logger.info('registered'); 17
75 } 18
76
77 }; 8
78

server/plugins/chuck/lib/initialize-models.js (transformed to server/plugins/chuck/lib/initialize-models.js)

%
Line Lint Hits Source
1 import _ from 'lodash';
2
3 const logger = require('../../../../util/logger')({ name: `plugin:chuck:initialize-model` });
4
5 module.exports = async ({ http, path }) => {
6
7 const Models = require(path);
8 5 const initializedModels = {};
9 await _.each(Models, (model) => {
10
11 logger.debug(model.name);
12 initializedModels[model.name] = new model({ http });
13 });
14 5 return initializedModels;
15 };
16

server/plugins/chuck/lib/initialize-models.js

100%
27
27
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _lodash = _interopRequireDefault(require("lodash")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13 /*$lab:coverage:on$*/
14 1 const logger = require('../../../../util/logger')({ 3
15 name: `plugin:chuck:initialize-model` 3
16 }); 3
17
18 1 module.exports = async ({ 5
19 http, 5
20 path 5
21 }) => { 5
22 const Models = require(path); 7
23
24 5 const initializedModels = {}; 8
25 5 await ( 9
26 /*$lab:coverage:off$*/ 9
27 _lodash 9
28 /*$lab:coverage:on$*/ 9
29 . 9
30 /*$lab:coverage:off$*/ 9
31 default 9
32 /*$lab:coverage:on$*/ 9
33 .each(Models, model => { 9
34 logger.debug(model.name); 11
35 10 initializedModels[model.name] = new model({ 12
36 http 12
37 }); 12
38 }) 9
39 ); 9
40 5 return initializedModels; 14
41 }; 5
42

server/plugins/chuck/models/index.js (transformed to server/plugins/chuck/models/index.js)

%
Line Lint Hits Source
1 1 module.exports = require('require-dir')();
2

server/plugins/chuck/models/index.js

100%
2
2
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 module.exports = require('require-dir')(); 1
6

server/plugins/chuck/models/random.chuck-model.js (transformed to server/plugins/chuck/models/random.chuck-model.js)

%
Line Lint Hits Source
1 1 const name = 'Random';
2 1 const path = '/random';
3
4 class RandomRasaModel {
5
6 constructor({ http }) {
7
8 this.http = http;
9 }
10
11 static get path() {
12
13
return path;
14 }
15
16 static get name() {
17
18 return name;
19 }
20
21 async get() {
22
23
const response = await this.http.get(path);
24 return response.data;
25 }
26
27 }
28
29 1 module.exports = RandomRasaModel;
30

server/plugins/chuck/models/random.chuck-model.js

85.71%
21
18
3
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 const name = 'Random'; 1
6 1 const path = '/random'; 2
7
8 class RandomRasaModel { 4
9 constructor({ 6
10 http 6
11 }) { 6
12 this.http = http; 8
13 } 9
14
15 static get path() { 11
16
return path;
13
17 } 14
18
19 static get name() { 16
20 return name; 18
21 } 19
22
23 async get() { 21
24
const response = await this.http.get(path);
23
25 return response.data; 24
26 } 25
27
28 } 4
29
30 1 module.exports = RandomRasaModel; 29
31

server/plugins/chuck/models/search.chuck-models.js (transformed to server/plugins/chuck/models/search.chuck-models.js)

%
Line Lint Hits Source
1 1 const name = 'Search';
2 1 const path = '/random';
3
4 class SearchRasaModel {
5
6 constructor({ http }) {
7
8 this.http = http;
9 }
10
11 static get path() {
12
13
return path;
14 }
15
16 static get name() {
17
18 return name;
19 }
20
21 async get({ query }) {
22
23
const response = await this.http.get(path, { query });
24 return response.data;
25 }
26
27 }
28
29 1 module.exports = SearchRasaModel;
30

server/plugins/chuck/models/search.chuck-models.js

84%
25
21
4
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 const name = 'Search'; 1
6 1 const path = '/random'; 2
7
8 class SearchRasaModel { 4
9 constructor({ 6
10 http 6
11 }) { 6
12 this.http = http; 8
13 } 9
14
15 static get path() { 11
16
return path;
13
17 } 14
18
19 static get name() { 16
20 return name; 18
21 } 19
22
23 async get({ 21
24 query 21
25 }) { 21
26
const response = await this.http.get(path, {
23
27 query 23
28
});
23
29 return response.data; 24
30 } 25
31
32 } 4
33
34 1 module.exports = SearchRasaModel; 29
35

server/plugins/redis/index.js (transformed to server/plugins/redis/index.js)

%
Line Lint Hits Source
1 import AsyncRedis from 'async-redis';
2 import Package from '../../../package.json';
3 import InitializeModels from './lib/initialize-models';
4
5 1 const name = 'redis';
6 const logger = require('../../../util/logger')({ name: `plugin:${name}` });
7
8 module.exports = {
9 name,
10 pkg: Package,
11 async register(server, options) {
12
13 const { host, port, retry, retryTimeout } = options;
14
15 const retryStrategy = (settings) => {
16
17
logger.info(`redis::retryStrategy::${JSON.stringify(settings)}`);
18 if (settings.error && settings.error.code === 'ECONNREFUSED') {
19 logger.info(`Connection failed. Attempt ${settings.attempt} of ${retry}`);
20 if (settings.attempt === retry) {
21 logger.error('Failure during Redis connection ');
22 logger.error(settings.error);
23 return process.exit(1);
24 }
25
26 return retryTimeout;
27
28 }
29 return retryTimeout;
30 };
31 await new Promise((resolve, reject) => {
32
33 const client = AsyncRedis.createClient(port, host, { retry_strategy: retryStrategy });
34 // Wait for connection
35 5 client.once('ready', async () => {
36
37 logger.info('ready');
38 const nohm = await InitializeModels({ redis: client, path: `${__dirname}/models` });
39 5 server.app[name] = nohm;
40 5 resolve();
41 });
42
43 // Listen to errors
44 client.on('error', (err) => {
45
46
logger.error(err);
47 reject(err);
48 });
49 });
50 5 logger.info('registered');
51 }
52 };
53

server/plugins/redis/index.js

84.93%
73
62
11
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _asyncRedis = _interopRequireDefault(require("async-redis")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _package = _interopRequireDefault(require("../../../package.json")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 _initializeModels = _interopRequireDefault(require("./lib/initialize-models")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25 /*$lab:coverage:on$*/
26 1 const name = 'redis'; 5
27
28 1 const logger = require('../../../util/logger')({ 6
29 name: `plugin:${name}` 6
30 }); 6
31
32 1 module.exports = { 8
33 name, 8
34 pkg: 10
35 /*$lab:coverage:off$*/ 10
36 _package 10
37 /*$lab:coverage:on$*/ 10
38 . 10
39 /*$lab:coverage:off$*/ 10
40 default 10
41 /*$lab:coverage:on$*/ 8
42 , 8
43
44 async register(server, options) { 11
45 const { 13
46 host, 13
47 port, 13
48 retry, 13
49 retryTimeout 13
50 } = options; 13
51
52 5 const retryStrategy = settings => { 15
53
logger.info(`redis::retryStrategy::${JSON.stringify(settings)}`);
17
54
55 if (settings.error && settings.error.code === 'ECONNREFUSED') { 18
56 logger.info(`Connection failed. Attempt ${settings.attempt} of ${retry}`); 19
57
58 if (settings.attempt === retry) { 20
59 logger.error('Failure during Redis connection '); 21
60 logger.error(settings.error); 22
61 return process.exit(1); 23
62 } 24
63
64 return retryTimeout; 26
65 } 28
66
67 return retryTimeout; 29
68 }; 15
69
70 5 await new Promise((resolve, reject) => { 31
71 const client = 33
72 /*$lab:coverage:off$*/ 33
73 _asyncRedis 33
74 /*$lab:coverage:on$*/ 33
75 . 33
76 /*$lab:coverage:off$*/ 33
77 default 33
78 /*$lab:coverage:on$*/ 33
79 .createClient(port, host, { 33
80 retry_strategy: retryStrategy 33
81 }); // Wait for connection 34
82
83
84 5 client.once('ready', async () => { 35
85 logger.info('ready'); 37
86 5 const nohm = await ( 38
87 /*$lab:coverage:off$*/ 38
88 (0, 38
89 /*$lab:coverage:on$*/ 38
90
91 /*$lab:coverage:off$*/ 38
92 _initializeModels 38
93 /*$lab:coverage:on$*/ 38
94 . 38
95 /*$lab:coverage:off$*/ 38
96 default) 38
97 /*$lab:coverage:on$*/ 38
98 ({ 38
99 redis: client, 38
100 path: `${__dirname}/models` 38
101 }) 38
102 ); 38
103 5 server.app[name] = nohm; 39
104 5 resolve(); 40
105 }); // Listen to errors 43
106
107 5 client.on('error', err => { 44
108
logger.error(err);
46
109 reject(err); 47
110 }); 44
111 }); 31
112 5 logger.info('registered'); 50
113 } 51
114
115 }; 8
116

server/plugins/redis/lib/base-model.js (transformed to server/plugins/redis/lib/base-model.js)

%
Line Lint Hits Source
1 import _ from 'lodash';
2 import { NohmModel } from 'nohm';
3 import * as Constants from '../../../../util/constants';
4
5 const logger = require('../../../../util/logger')({ name: `plugin:redis:base-model` });
6 const defaults = {
7 SKIP: 0,
8 LIMIT: 50,
9 DIRECTION: 'ASC'
10 };
11 const getLimit = ({ skip, limit }) => {
12
13 let parsedLimit = null;
14
if (
!limit) {
15 parsedLimit = null;
16
}
17
else if (
skip === undefined) {
18 parsedLimit = [limit];
19 }
20 else {
21 2 parsedLimit = [skip, limit];
22 }
23 2 return parsedLimit;
24 };
25
26 module.exports = class BaseModel extends NohmModel {
27 constructor({ schema }) {
28
29 super();
30 5 this.schema = schema;
31 }
32
33 defaultSortField() {
34
35 let field = null;
36 _.each(this.schema, (current, key) => {
37
38 field = current.defaultSort ? key : field;
39 });
40 4 return field;
41 };
42
43 //using create() or update() conflicts with functions from NohmModel
44 async createInstance({ data }) {
45
46
await this.property(data);
47 await this.save();
48 return this.allProperties();
49 }
50
51 async updateInstance({ id, data }) {
52
53
if (id) {
54 // loads the model, if there is no id assumes that was already loaded
55 await this.findById({ id });
56
}
57 await this.createInstance({ data });
58 }
59
60 async findById({ id }) {
61
62
return await this.load(id);
63 }
64
65 async findAll({ skip = defaults.SKIP, limit = defaults.LIMIT, direction = defaults.DIRECTION, field }) {
66
67 let ids = [];
68
field =
field
?
field : this.defaultSortField();
69 3 if (field) {
70 limit = getLimit({ skip, limit });
71 ids = await this.sort({ field, direction, limit });
72 }
73 else {
74 ids = await this.find();
75 2 //nohm doesn't have a limit on a find() search, so we do it manually
76 2 ids = ids.slice(skip, skip + limit);
77 }
78
79
if (
ids.length === 0) {
80 return [];
81 }
82
83 return await this.loadAllByIds({ ids });
84 }
85
86 async findAllByIds({ ids, skip = defaults.SKIP, limit = defaults.LIMIT, direction = defaults.DIRECTION, field }) {
87
88
if (!
_.isArray(ids) || ids.leading === 0) {
89 return [];
90 }
91 1 let sortedIds = [];
92
field =
field
?
field : this.defaultSortField();
93
if (
field) {
94 limit = getLimit({ skip, limit });
95 sortedIds = await this.sort({ field, direction, limit }, ids);
96 }
97 else {
98 sortedIds = ids.slice(skip, skip + limit);
99 }
100
if (
sortedIds.length === 0) {
101 return [];
102 }
103 return await this.loadAllByIds({ ids: sortedIds });
104 }
105
106 async loadAllByIds({ ids }) {
107
108 return await Promise.all(ids.map(async (id) => {
109
110 return await this.load(id);
111 }));
112 }
113
114 async removeById({ id, silent = false }) {
115
116
await this.load(id);
117 await this.remove(silent);
118 return true;
119 }
120
121 async searchByField({ field, value }) {
122
123
const schemaField = this.schema[field];
124 if (!schemaField) {
125 throw Error(Constants.ERROR_FIELD_NOT_FOUND);
126 }
127 const ids = await this.find({
128 [field]: value
129 });
130 logger.debug(field, value);
131 logger.debug(ids);
132 if (ids.length > 0) {
133 if (schemaField.unique) {
134 return await this.findById({ id: ids[0] });
135 }
136 return await this.findAllByIds({ ids });
137 }
138 return [];
139 }
140 };
141

server/plugins/redis/lib/base-model.js

80.11%
186
149
37
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _lodash = _interopRequireDefault(require("lodash")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _nohm = require("nohm") 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 1 var 3
18 /*$lab:coverage:off$*/ 3
19 Constants = _interopRequireWildcard(require("../../../../util/constants")) 3
20 /*$lab:coverage:on$*/ 3
21 ; 3
22
23 /*$lab:coverage:off$*/ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
24
25 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27 /*$lab:coverage:on$*/
28 1 const logger = require('../../../../util/logger')({ 5
29 name: `plugin:redis:base-model` 5
30 }); 5
31
32 1 const defaults = { 6
33 SKIP: 0, 6
34 LIMIT: 50, 6
35 DIRECTION: 'ASC' 9
36 }; 6
37
38 1 const getLimit = ({ 11
39 skip, 11
40 limit 11
41 }) => { 11
42 let parsedLimit = null; 13
43
44
if (
!limit
) {
14
45 parsedLimit = null; 15
46
} else if (
skip === undefined
) {
17
47 parsedLimit = [limit]; 18
48 } else { 20
49 2 parsedLimit = [skip, limit]; 21
50 } 22
51
52 2 return parsedLimit; 23
53 }; 11
54
55 1 module.exports = class BaseModel extends 26
56 /*$lab:coverage:off$*/ 26
57 _nohm 26
58 /*$lab:coverage:on$*/ 26
59 . 26
60 /*$lab:coverage:off$*/ 26
61 NohmModel 26
62 /*$lab:coverage:on$*/ 26
63 { 26
64 constructor({ 27
65 schema 27
66 }) { 27
67 super(); 29
68 5 this.schema = schema; 30
69 } 31
70
71 defaultSortField() { 33
72 let field = null; 35
73
74 /*$lab:coverage:off$*/ 36
75 4 _lodash 36
76 /*$lab:coverage:on$*/ 36
77 . 36
78 /*$lab:coverage:off$*/ 36
79 default 36
80 /*$lab:coverage:on$*/ 36
81 .each(this.schema, (current, key) => { 36
82 field = current.defaultSort ? key : field; 38
83 }); 36
84
85 4 return field; 40
86 } 41
87
88 //using create() or update() conflicts with functions from NohmModel 43
89 async createInstance({ 44
90 data 44
91 }) { 44
92
await this.property(data);
46
93 await this.save(); 47
94 return this.allProperties(); 48
95 } 49
96
97 async updateInstance({ 51
98 id, 51
99 data 51
100 }) { 51
101
if (id) {
53
102 // loads the model, if there is no id assumes that was already loaded 54
103 await this.findById({ 55
104 id 55
105 }); 55
106
}
56
107
108 await this.createInstance({ 57
109 data 57
110 }); 57
111 } 58
112
113 async findById({ 60
114 id 60
115 }) { 60
116
return await this.load(id);
62
117 } 63
118
119 async findAll({ 65
120 skip = defaults.SKIP, 65
121 limit = defaults.LIMIT, 65
122 direction = defaults.DIRECTION, 65
123 field 65
124 }) { 65
125 let ids = []; 67
126
field =
field
?
field
: this.defaultSortField();
68
127
128 3 if (field) { 69
129 1 limit = getLimit({ 70
130 skip, 70
131 limit 70
132 }); 70
133 1 ids = await this.sort({ 71
134 field, 71
135 direction, 71
136 limit 71
137 }); 71
138 } else { 73
139 2 ids = await this.find(); //nohm doesn't have a limit on a find() search, so we do it manually 75
140
141 2 ids = ids.slice(skip, skip + limit); 76
142 } 77
143
144
if (
ids.length === 0
) {
79
145 return []; 80
146 } 81
147
148 3 return await this.loadAllByIds({ 83
149 ids 83
150 }); 83
151 } 84
152
153 async findAllByIds({ 86
154 ids, 86
155 skip = defaults.SKIP, 86
156 limit = defaults.LIMIT, 86
157 direction = defaults.DIRECTION, 86
158 field 86
159 }) { 86
160
if (
!
88
161 /*$lab:coverage:off$*/ 88
162 _lodash 88
163 /*$lab:coverage:on$*/ 88
164 . 88
165 /*$lab:coverage:off$*/ 88
166 default 88
167 /*$lab:coverage:on$*/ 88
168
.isArray(ids)
|| ids.leading === 0) {
88
169 return []; 89
170 } 90
171
172 1 let sortedIds = []; 91
173
field =
field
?
field
: this.defaultSortField();
92
174
175
if (
field
) {
93
176 1 limit = getLimit({ 94
177 skip, 94
178 limit 94
179 }); 94
180 1 sortedIds = await this.sort({ 95
181 field, 95
182 direction, 95
183 limit 95
184 }, ids); 95
185 } else { 97
186 sortedIds = ids.slice(skip, skip + limit); 98
187 } 99
188
189
if (
sortedIds.length === 0
) {
100
190 return []; 101
191 } 102
192
193 1 return await this.loadAllByIds({ 103
194 ids: sortedIds 103
195 }); 103
196 } 104
197
198 async loadAllByIds({ 106
199 ids 106
200 }) { 106
201 return await Promise.all(ids.map(async id => { 108
202 return await this.load(id); 110
203 })); 108
204 } 112
205
206 async removeById({ 114
207 id, 114
208 silent = false 114
209 }) { 114
210
await this.load(id);
116
211 await this.remove(silent); 117
212 return true; 118
213 } 119
214
215 async searchByField({ 121
216 field, 121
217 value 121
218 }) { 121
219
const schemaField = this.schema[field];
123
220
221 if (!schemaField) { 124
222 throw Error(Constants.ERROR_FIELD_NOT_FOUND); 125
223 } 126
224
225 const ids = await this.find({ 127
226 [field]: value 128
227 }); 127
228 logger.debug(field, value); 130
229 logger.debug(ids); 131
230
231 if (ids.length > 0) { 132
232 if (schemaField.unique) { 133
233 return await this.findById({ 134
234 id: ids[0] 134
235 }); 134
236 } 135
237
238 return await this.findAllByIds({ 136
239 ids 136
240 }); 136
241 } 137
242
243 return []; 138
244 } 139
245
246 }; 26
247

server/plugins/redis/lib/initialize-models.js (transformed to server/plugins/redis/lib/initialize-models.js)

%
Line Lint Hits Source
1 import _ from 'lodash';
2 import Nohm from 'nohm';
3
4 const logger = require('../../../../util/logger')({ name: `plugin:redis:initialize-model` });
5
6 module.exports = async ({ redis, path }) => {
7
8 Nohm.setClient(redis);
9 5 const Mods = require(path);
10 await _.each(Mods, (model) => {
11
12 logger.debug(model.modelName);
13 Nohm.register(model);
14 });
15 return Nohm;
16 };
17

server/plugins/redis/lib/initialize-models.js

100%
38
38
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _lodash = _interopRequireDefault(require("lodash")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _nohm = _interopRequireDefault(require("nohm")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const logger = require('../../../../util/logger')({ 4
21 name: `plugin:redis:initialize-model` 4
22 }); 4
23
24 1 module.exports = async ({ 6
25 redis, 6
26 path 6
27 }) => { 6
28 /*$lab:coverage:off$*/ 8
29 _nohm 8
30 /*$lab:coverage:on$*/ 8
31 . 8
32 /*$lab:coverage:off$*/ 8
33 default 8
34 /*$lab:coverage:on$*/ 8
35 .setClient(redis); 8
36
37 5 const Mods = require(path); 9
38
39 5 await ( 10
40 /*$lab:coverage:off$*/ 10
41 _lodash 10
42 /*$lab:coverage:on$*/ 10
43 . 10
44 /*$lab:coverage:off$*/ 10
45 default 10
46 /*$lab:coverage:on$*/ 10
47 .each(Mods, model => { 10
48 logger.debug(model.modelName); 12
49
50 /*$lab:coverage:off$*/ 13
51 45 _nohm 13
52 /*$lab:coverage:on$*/ 13
53 . 13
54 /*$lab:coverage:off$*/ 13
55 default 13
56 /*$lab:coverage:on$*/ 13
57 .register(model); 13
58 }) 10
59 ); 10
60 5 return ( 15
61 /*$lab:coverage:off$*/ 15
62 _nohm 15
63 /*$lab:coverage:on$*/ 15
64 . 15
65 /*$lab:coverage:off$*/ 15
66 default 15
67
68 /*$lab:coverage:on$*/ 15
69 ); 15
70 }; 6
71

server/plugins/redis/models/action.redis-model.js (transformed to server/plugins/redis/models/action.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_ACTION } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 agent: { //TODO: LINK
6 type: 'json'
7 },
8 category: { //TODO: LINK
9 type: 'json'
10 },
11 actionName: {
12 type: 'string',
13 unique: true,
14 index: true
15 },
16 slots: { //TODO: LINK
17 type: 'json'
18 },
19 responses: {
20 type: 'json'
21 },
22 useWebhook: {
23 type: 'boolean'
24 },
25 usePostFormat: {
26 type: 'boolean'
27 }
28 };
29
30 class ActionRedisModel extends BaseModel {
31
32 constructor() {
33
34
super({ schema });
35 }
36
37 static get modelName() {
38
39 return MODEL_ACTION;
40 }
41
42 static get idGenerator() {
43 //return 'increment';
44
return 'default';
45 }
46
47 static get definitions() {
48
49 return schema;
50 }
51
52 }
53
54 1 module.exports = ActionRedisModel;
55

server/plugins/redis/models/action.redis-model.js

94.83%
58
55
3
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 agent: { 5
22 //TODO: LINK 5
23 type: 'json' 6
24 }, 4
25 category: { 8
26 //TODO: LINK 8
27 type: 'json' 9
28 }, 4
29 actionName: { 11
30 type: 'string', 11
31 unique: true, 11
32 index: true 14
33 }, 4
34 slots: { 16
35 //TODO: LINK 16
36 type: 'json' 17
37 }, 4
38 responses: { 19
39 type: 'json' 20
40 }, 4
41 useWebhook: { 22
42 type: 'boolean' 23
43 }, 4
44 usePostFormat: { 25
45 type: 'boolean' 26
46 } 25
47 }; 4
48
49 class ActionRedisModel extends 30
50 /*$lab:coverage:off$*/ 30
51 _baseModel 30
52 /*$lab:coverage:on$*/ 30
53 . 30
54 /*$lab:coverage:off$*/ 30
55 default 30
56 /*$lab:coverage:on$*/ 30
57 { 30
58 constructor() { 32
59
super({
34
60 schema 34
61
});
34
62 } 35
63
64 static get modelName() { 37
65 return ( 39
66 /*$lab:coverage:off$*/ 39
67 _constants 39
68 /*$lab:coverage:on$*/ 39
69 . 39
70 /*$lab:coverage:off$*/ 39
71 MODEL_ACTION 39
72
73 /*$lab:coverage:on$*/ 39
74 ); 39
75 } 40
76
77 static get idGenerator() { 42
78 //return 'increment'; 43
79
return 'default';
44
80 } 45
81
82 static get definitions() { 47
83 return schema; 49
84 } 50
85
86 } 30
87
88 1 module.exports = ActionRedisModel; 54
89

server/plugins/redis/models/agent.redis-model.js (transformed to server/plugins/redis/models/agent.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_AGENT } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 agentName: {
6 type: 'string',
7 unique: true,
8 index: true,
9 defaultSort: true
10 },
11 description: {
12 type: 'string',
13 index: true
14 },
15 language: {
16 type: 'string'
17 },
18 timezone: {
19 type: 'string'
20 },
21 useWebhook: {
22 type: 'boolean'
23 },
24 usePostFormat: {
25 type: 'boolean'
26 },
27 multiCategory: {
28 type: 'boolean'
29 },
30 categoryClassifierThreshold: {
31 type: 'integer'
32 },
33 fallbackResponses: {
34 type: 'json'
35 },
36 status: {
37 type: 'string'
38 },
39 lastTraining: {
40 type: 'timestamp'
41 },
42 extraTrainingData: {
43 type: 'boolean'
44 },
45 enableModelsPerCategory: {
46 type: 'boolean'
47 },
48 model: {
49 type: 'string'
50 }
51 };
52
53 class AgentRedisModel extends BaseModel {
54 constructor() {
55
56 super({ schema });
57 }
58
59 static get modelName() {
60
61 return MODEL_AGENT;
62 }
63
64 static get idGenerator() {
65 //return 'increment';
66 return 'default';
67 }
68
69 static get definitions() {
70
71 return schema;
72 }
73 }
74
75 1 module.exports = AgentRedisModel;
76

server/plugins/redis/models/agent.redis-model.js

100%
81
81
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 agentName: { 5
22 type: 'string', 5
23 unique: true, 5
24 index: true, 5
25 defaultSort: true 9
26 }, 4
27 description: { 11
28 type: 'string', 11
29 index: true 13
30 }, 4
31 language: { 15
32 type: 'string' 16
33 }, 4
34 timezone: { 18
35 type: 'string' 19
36 }, 4
37 useWebhook: { 21
38 type: 'boolean' 22
39 }, 4
40 usePostFormat: { 24
41 type: 'boolean' 25
42 }, 4
43 multiCategory: { 27
44 type: 'boolean' 28
45 }, 4
46 categoryClassifierThreshold: { 30
47 type: 'integer' 31
48 }, 4
49 fallbackResponses: { 33
50 type: 'json' 34
51 }, 4
52 status: { 36
53 type: 'string' 37
54 }, 4
55 lastTraining: { 39
56 type: 'timestamp' 40
57 }, 4
58 extraTrainingData: { 42
59 type: 'boolean' 43
60 }, 4
61 enableModelsPerCategory: { 45
62 type: 'boolean' 46
63 }, 4
64 model: { 48
65 type: 'string' 49
66 } 48
67 }; 4
68
69 class AgentRedisModel extends 53
70 /*$lab:coverage:off$*/ 53
71 _baseModel 53
72 /*$lab:coverage:on$*/ 53
73 . 53
74 /*$lab:coverage:off$*/ 53
75 default 53
76 /*$lab:coverage:on$*/ 53
77 { 53
78 constructor() { 54
79 super({ 56
80 schema 56
81 }); 56
82 } 57
83
84 static get modelName() { 59
85 return ( 61
86 /*$lab:coverage:off$*/ 61
87 _constants 61
88 /*$lab:coverage:on$*/ 61
89 . 61
90 /*$lab:coverage:off$*/ 61
91 MODEL_AGENT 61
92
93 /*$lab:coverage:on$*/ 61
94 ); 61
95 } 62
96
97 static get idGenerator() { 64
98 //return 'increment'; 65
99 return 'default'; 66
100 } 67
101
102 static get definitions() { 69
103 return schema; 71
104 } 72
105
106 } 53
107
108 1 module.exports = AgentRedisModel; 75
109

server/plugins/redis/models/context.redis-model.js (transformed to server/plugins/redis/models/context.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_CONTEXT } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 class ContextRedisModel extends BaseModel {
5
6 static get modelName() {
7
8 return MODEL_CONTEXT;
9 }
10
11 static get idGenerator() {
12 //return 'increment';
13
return 'default';
14 }
15
16 static get definitions() {
17
18 return {
19 action:{
20 type: 'string'
21 },
22 slots: { //TODO: LINK
23 type: 'json'
24 }
25 };
26 }
27
28 }
29
30 1 module.exports = ContextRedisModel;
31

server/plugins/redis/models/context.redis-model.js

97.14%
35
34
1
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 class ContextRedisModel extends 4
21 /*$lab:coverage:off$*/ 4
22 _baseModel 4
23 /*$lab:coverage:on$*/ 4
24 . 4
25 /*$lab:coverage:off$*/ 4
26 default 4
27 /*$lab:coverage:on$*/ 4
28 { 4
29 static get modelName() { 6
30 return ( 8
31 /*$lab:coverage:off$*/ 8
32 _constants 8
33 /*$lab:coverage:on$*/ 8
34 . 8
35 /*$lab:coverage:off$*/ 8
36 MODEL_CONTEXT 8
37
38 /*$lab:coverage:on$*/ 8
39 ); 8
40 } 9
41
42 static get idGenerator() { 11
43 //return 'increment'; 12
44
return 'default';
13
45 } 14
46
47 static get definitions() { 16
48 return { 18
49 action: { 19
50 type: 'string' 20
51 }, 18
52 slots: { 22
53 //TODO: LINK 22
54 type: 'json' 23
55 } 22
56 }; 18
57 } 26
58
59 } 4
60
61 1 module.exports = ContextRedisModel; 30
62

server/plugins/redis/models/category.redis-model.js (transformed to server/plugins/redis/models/category.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_CATEGORY } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 categoryName: {
6 type: 'string',
7 unique: true,
8 index: true,
9 defaultSort: true
10 },
11 enabled: {
12 type: 'boolean'
13 },
14 actionThreshold: {
15 type: 'integer'
16 },
17 status: {
18 type: 'string'
19 },
20 lastTraining: {
21 type: 'timestamp'
22 },
23 model: {
24 type: 'string'
25 },
26 extraTrainingData: {
27 type: 'boolean'
28 }
29 };
30
31 class CategoryRedisModel extends BaseModel {
32 constructor() {
33
34 super({ schema });
35 }
36
37 static get modelName() {
38
39 return MODEL_CATEGORY;
40 }
41
42 static get idGenerator() {
43 //return 'increment';
44 return 'default';
45 }
46
47 static get definitions() {
48
49 return schema;
50 }
51
52 }
53
54 1 module.exports = CategoryRedisModel;
55

server/plugins/redis/models/category.redis-model.js

100%
59
59
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 categoryName: { 5
22 type: 'string', 5
23 unique: true, 5
24 index: true, 5
25 defaultSort: true 9
26 }, 4
27 enabled: { 11
28 type: 'boolean' 12
29 }, 4
30 actionThreshold: { 14
31 type: 'integer' 15
32 }, 4
33 status: { 17
34 type: 'string' 18
35 }, 4
36 lastTraining: { 20
37 type: 'timestamp' 21
38 }, 4
39 model: { 23
40 type: 'string' 24
41 }, 4
42 extraTrainingData: { 26
43 type: 'boolean' 27
44 } 26
45 }; 4
46
47 class CategoryRedisModel extends 31
48 /*$lab:coverage:off$*/ 31
49 _baseModel 31
50 /*$lab:coverage:on$*/ 31
51 . 31
52 /*$lab:coverage:off$*/ 31
53 default 31
54 /*$lab:coverage:on$*/ 31
55 { 31
56 constructor() { 32
57 super({ 34
58 schema 34
59 }); 34
60 } 35
61
62 static get modelName() { 37
63 return ( 39
64 /*$lab:coverage:off$*/ 39
65 _constants 39
66 /*$lab:coverage:on$*/ 39
67 . 39
68 /*$lab:coverage:off$*/ 39
69 MODEL_CATEGORY 39
70
71 /*$lab:coverage:on$*/ 39
72 ); 39
73 } 40
74
75 static get idGenerator() { 42
76 //return 'increment'; 43
77 return 'default'; 44
78 } 45
79
80 static get definitions() { 47
81 return schema; 49
82 } 50
83
84 } 31
85
86 1 module.exports = CategoryRedisModel; 54
87

server/plugins/redis/models/index.js (transformed to server/plugins/redis/models/index.js)

%
Line Lint Hits Source
1 1 module.exports = require('require-dir')();
2

server/plugins/redis/models/index.js

100%
2
2
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 module.exports = require('require-dir')(); 1
6

server/plugins/redis/models/keyword.redis-model.js (transformed to server/plugins/redis/models/keyword.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_KEYWORD } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 agent: { //TODO: LINK AGENT
6 type: 'json'
7 },
8 keywordName: {
9 type: 'string',
10 unique: true,
11 index: true
12 },
13 uiColor: {
14 type: 'string'
15 },
16 examples: { //TODO: LINK EXAMPLE KEYWORD
17 type: 'json'
18 },
19 regex: {
20 type: 'string'
21 },
22 type: {
23 type: 'string'
24 }
25 };
26
27 class KeywordRedisModel extends BaseModel {
28 constructor() {
29
30
super({ schema });
31 }
32
33 static get modelName() {
34
35 return MODEL_KEYWORD;
36 }
37
38 static get idGenerator() {
39 //return 'increment';
40
return 'default';
41 }
42
43 static get definitions() {
44
45 return schema;
46 }
47
48 }
49
50 1 module.exports = KeywordRedisModel;
51

server/plugins/redis/models/keyword.redis-model.js

94.55%
55
52
3
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 agent: { 5
22 //TODO: LINK AGENT 5
23 type: 'json' 6
24 }, 4
25 keywordName: { 8
26 type: 'string', 8
27 unique: true, 8
28 index: true 11
29 }, 4
30 uiColor: { 13
31 type: 'string' 14
32 }, 4
33 examples: { 16
34 //TODO: LINK EXAMPLE KEYWORD 16
35 type: 'json' 17
36 }, 4
37 regex: { 19
38 type: 'string' 20
39 }, 4
40 type: { 22
41 type: 'string' 23
42 } 22
43 }; 4
44
45 class KeywordRedisModel extends 27
46 /*$lab:coverage:off$*/ 27
47 _baseModel 27
48 /*$lab:coverage:on$*/ 27
49 . 27
50 /*$lab:coverage:off$*/ 27
51 default 27
52 /*$lab:coverage:on$*/ 27
53 { 27
54 constructor() { 28
55
super({
30
56 schema 30
57
});
30
58 } 31
59
60 static get modelName() { 33
61 return ( 35
62 /*$lab:coverage:off$*/ 35
63 _constants 35
64 /*$lab:coverage:on$*/ 35
65 . 35
66 /*$lab:coverage:off$*/ 35
67 MODEL_KEYWORD 35
68
69 /*$lab:coverage:on$*/ 35
70 ); 35
71 } 36
72
73 static get idGenerator() { 38
74 //return 'increment'; 39
75
return 'default';
40
76 } 41
77
78 static get definitions() { 43
79 return schema; 45
80 } 46
81
82 } 27
83
84 1 module.exports = KeywordRedisModel; 50
85

server/plugins/redis/models/postFormat.redis-model.js (transformed to server/plugins/redis/models/postFormat.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_POST_FORMAT } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 postFormatPayload: {
6 type: 'string'
7 }
8 };
9
10 class PostFormatRedisModel extends BaseModel {
11
12 constructor() {
13
14
super({ schema });
15 }
16
17 static get modelName() {
18
19 return MODEL_POST_FORMAT;
20 }
21
22 static get idGenerator() {
23 //return 'increment';
24
return 'default';
25 }
26
27 static get definitions() {
28
29 return schema;
30 }
31
32 }
33
34 1 module.exports = PostFormatRedisModel;
35

server/plugins/redis/models/postFormat.redis-model.js

92.11%
38
35
3
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 postFormatPayload: { 5
22 type: 'string' 6
23 } 5
24 }; 4
25
26 class PostFormatRedisModel extends 10
27 /*$lab:coverage:off$*/ 10
28 _baseModel 10
29 /*$lab:coverage:on$*/ 10
30 . 10
31 /*$lab:coverage:off$*/ 10
32 default 10
33 /*$lab:coverage:on$*/ 10
34 { 10
35 constructor() { 12
36
super({
14
37 schema 14
38
});
14
39 } 15
40
41 static get modelName() { 17
42 return ( 19
43 /*$lab:coverage:off$*/ 19
44 _constants 19
45 /*$lab:coverage:on$*/ 19
46 . 19
47 /*$lab:coverage:off$*/ 19
48 MODEL_POST_FORMAT 19
49
50 /*$lab:coverage:on$*/ 19
51 ); 19
52 } 20
53
54 static get idGenerator() { 22
55 //return 'increment'; 23
56
return 'default';
24
57 } 25
58
59 static get definitions() { 27
60 return schema; 29
61 } 30
62
63 } 10
64
65 1 module.exports = PostFormatRedisModel; 34
66

server/plugins/redis/models/saying.redis-model.js (transformed to server/plugins/redis/models/saying.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_SAYING } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 agent: { //TODO: LINK AGENT
6 type: 'string'
7 },
8 category: {//TODO: LINK CATEGORY
9 type: 'string'
10 },
11 userSays: {
12 type: 'string'
13 },
14 keywords: { //TODO: LINK KEYWORD SAYING
15 type: 'json'
16 },
17 actions: { //TODO: LINK ACTION
18 type: 'json'
19 }
20 };
21
22 class SayingRedisModel extends BaseModel {
23
24 constructor() {
25
26
super({ schema });
27 }
28
29 static get modelName() {
30
31 return MODEL_SAYING;
32 }
33
34 static get idGenerator() {
35 //return 'increment';
36
return 'default';
37 }
38
39 static get definitions() {
40
41 return schema;
42 }
43
44 }
45
46 1 module.exports = SayingRedisModel;
47

server/plugins/redis/models/saying.redis-model.js

94%
50
47
3
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 agent: { 5
22 //TODO: LINK AGENT 5
23 type: 'string' 6
24 }, 4
25 category: { 8
26 //TODO: LINK CATEGORY 8
27 type: 'string' 9
28 }, 4
29 userSays: { 11
30 type: 'string' 12
31 }, 4
32 keywords: { 14
33 //TODO: LINK KEYWORD SAYING 14
34 type: 'json' 15
35 }, 4
36 actions: { 17
37 //TODO: LINK ACTION 17
38 type: 'json' 18
39 } 17
40 }; 4
41
42 class SayingRedisModel extends 22
43 /*$lab:coverage:off$*/ 22
44 _baseModel 22
45 /*$lab:coverage:on$*/ 22
46 . 22
47 /*$lab:coverage:off$*/ 22
48 default 22
49 /*$lab:coverage:on$*/ 22
50 { 22
51 constructor() { 24
52
super({
26
53 schema 26
54
});
26
55 } 27
56
57 static get modelName() { 29
58 return ( 31
59 /*$lab:coverage:off$*/ 31
60 _constants 31
61 /*$lab:coverage:on$*/ 31
62 . 31
63 /*$lab:coverage:off$*/ 31
64 MODEL_SAYING 31
65
66 /*$lab:coverage:on$*/ 31
67 ); 31
68 } 32
69
70 static get idGenerator() { 34
71 //return 'increment'; 35
72
return 'default';
36
73 } 37
74
75 static get definitions() { 39
76 return schema; 41
77 } 42
78
79 } 22
80
81 1 module.exports = SayingRedisModel; 46
82

server/plugins/redis/models/settings.redis-model.js (transformed to server/plugins/redis/models/settings.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_SETTINGS } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 name: {
6 type: 'string',
7 unique: true,
8 index: true,
9 defaultSort: true
10 },
11 value: {
12 type: 'json'
13 }
14 };
15
16 class SettingsRedisModel extends BaseModel {
17
18 constructor() {
19
20
super({ schema });
21 }
22
23 static get modelName() {
24
25 return MODEL_SETTINGS;
26 }
27
28 static get idGenerator() {
29 //return 'increment';
30
return 'default';
31 }
32
33 static get definitions() {
34
35 return schema;
36 }
37
38 async findAll() {
39
40
const ids = await this.find();
41 return await this.findAllByIds({ ids });
42 }
43
44 async findByName({ name }) {
45
46
return await this.searchByField({ field: 'name', value: name });
47 }
48 }
49
50 1 module.exports = SettingsRedisModel;
51

server/plugins/redis/models/settings.redis-model.js

87.93%
58
51
7
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 name: { 5
22 type: 'string', 5
23 unique: true, 5
24 index: true, 5
25 defaultSort: true 9
26 }, 4
27 value: { 11
28 type: 'json' 12
29 } 11
30 }; 4
31
32 class SettingsRedisModel extends 16
33 /*$lab:coverage:off$*/ 16
34 _baseModel 16
35 /*$lab:coverage:on$*/ 16
36 . 16
37 /*$lab:coverage:off$*/ 16
38 default 16
39 /*$lab:coverage:on$*/ 16
40 { 16
41 constructor() { 18
42
super({
20
43 schema 20
44
});
20
45 } 21
46
47 static get modelName() { 23
48 return ( 25
49 /*$lab:coverage:off$*/ 25
50 _constants 25
51 /*$lab:coverage:on$*/ 25
52 . 25
53 /*$lab:coverage:off$*/ 25
54 MODEL_SETTINGS 25
55
56 /*$lab:coverage:on$*/ 25
57 ); 25
58 } 26
59
60 static get idGenerator() { 28
61 //return 'increment'; 29
62
return 'default';
30
63 } 31
64
65 static get definitions() { 33
66 return schema; 35
67 } 36
68
69 async findAll() { 38
70
const ids = await this.find();
40
71 return await this.findAllByIds({ 41
72 ids 41
73 }); 41
74 } 42
75
76 async findByName({ 44
77 name 44
78 }) { 44
79
return await this.searchByField({
46
80 field: 'name', 46
81 value: name 46
82
});
46
83 } 47
84
85 } 16
86
87 1 module.exports = SettingsRedisModel; 50
88

server/plugins/redis/models/webhook.redis-model.js (transformed to server/plugins/redis/models/webhook.redis-model.js)

%
Line Lint Hits Source
1 import { MODEL_WEBHOOK } from '../../../../util/constants';
2 import BaseModel from '../lib/base-model';
3
4 const schema = {
5 webhookUrl: {
6 type: 'string'
7 },
8 webhookVerb: {
9 type: 'string'
10 },
11 webhookPayloadType: {
12 type: 'string'
13 },
14 webhookPayload: {
15 type: 'string'
16 }
17 };
18
19 class WebhookRedisModel extends BaseModel {
20
21 constructor() {
22
23 super({ schema });
24 }
25
26 static get modelName() {
27
28 return MODEL_WEBHOOK;
29 }
30
31 static get idGenerator() {
32 //return 'increment';
33 return 'default';
34 }
35
36 static get definitions() {
37
38 return schema;
39 }
40
41 }
42
43 1 module.exports = WebhookRedisModel;
44

server/plugins/redis/models/webhook.redis-model.js

100%
47
47
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _constants = require("../../../../util/constants") 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 _baseModel = _interopRequireDefault(require("../lib/base-model")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19 /*$lab:coverage:on$*/
20 1 const schema = { 4
21 webhookUrl: { 5
22 type: 'string' 6
23 }, 4
24 webhookVerb: { 8
25 type: 'string' 9
26 }, 4
27 webhookPayloadType: { 11
28 type: 'string' 12
29 }, 4
30 webhookPayload: { 14
31 type: 'string' 15
32 } 14
33 }; 4
34
35 class WebhookRedisModel extends 19
36 /*$lab:coverage:off$*/ 19
37 _baseModel 19
38 /*$lab:coverage:on$*/ 19
39 . 19
40 /*$lab:coverage:off$*/ 19
41 default 19
42 /*$lab:coverage:on$*/ 19
43 { 19
44 constructor() { 21
45 super({ 23
46 schema 23
47 }); 23
48 } 24
49
50 static get modelName() { 26
51 return ( 28
52 /*$lab:coverage:off$*/ 28
53 _constants 28
54 /*$lab:coverage:on$*/ 28
55 . 28
56 /*$lab:coverage:off$*/ 28
57 MODEL_WEBHOOK 28
58
59 /*$lab:coverage:on$*/ 28
60 ); 28
61 } 29
62
63 static get idGenerator() { 31
64 //return 'increment'; 32
65 return 'default'; 33
66 } 34
67
68 static get definitions() { 36
69 return schema; 38
70 } 39
71
72 } 19
73
74 1 module.exports = WebhookRedisModel; 43
75

util/constants.js (transformed to util/constants.js)

%
Line Lint Hits Source
1 import _ from 'lodash';
2 //DEBUG
3 1 export const DEBUG_LEVEL_INFO = 'info';
4 1 export const DEBUG_LEVEL_DEBUG = 'debug';
5 export const DEBUG_LEVEL_ERROR = 'error';
6
7 1 //ERRORS
8 1 export const ERROR_NOT_FOUND = 'not found';
9 1 export const ERROR_VALIDATION = 'Validation failed. See .errors on this Error or the Nohm model instance for details.';
10 export const ERROR_FIELD_NOT_FOUND = 'Field not found';
11
12 1 //MODELS
13 1 export const MODEL_ACTION = 'Action';
14 1 export const MODEL_AGENT = 'Agent';
15 1 export const MODEL_CONTEXT = 'Context';
16 1 export const MODEL_CATEGORY = 'Category';
17 1 export const MODEL_DOC = 'Doc';
18 1 export const MODEL_KEYWORD = 'Keyword';
19 1 export const MODEL_POST_FORMAT = 'PostFormat';
20 1 export const MODEL_SAYING = 'Saying';
21 1 export const MODEL_SETTINGS = 'Settings';
22 export const MODEL_WEBHOOK = 'Webhook';
23
24 1 //ROUTES
25 1 export const ROUTE_ACTION = 'action';
26 1 export const ROUTE_AGENT = 'agent';
27 1 export const ROUTE_CONTEXT = 'context';
28 1 export const ROUTE_DOC = 'doc';
29 1 export const ROUTE_CATEGORY = 'category';
30 1 export const ROUTE_POST_FORMAT = 'postFormat';
31 1 export const ROUTE_KEYWORD = 'keyword';
32 1 export const ROUTE_SAYING = 'saying';
33 1 export const ROUTE_SETTINGS = 'settings';
34 export const ROUTE_WEBHOOK = 'webhook';
35
36 1 //PARAMS ID
37 1 export const PARAMS_POSTFIX_ID = 'Id';
38 1 export const PARAM_FIELD = 'field';
39 1 export const PARAM_VALUE = 'value';
40 1 export const PARAM_NAME = 'name';
41 1 export const PARAM_SKIP = 'skip';
42 1 export const PARAM_LIMIT = 'limit';
43 1 export const PARAM_DIRECTION = 'direction';
44
45 1 export const PARAM_ACTION_ID = ROUTE_ACTION + PARAMS_POSTFIX_ID;
46 1 export const PARAM_AGENT_ID = ROUTE_AGENT + PARAMS_POSTFIX_ID;
47 1 export const PARAM_CATEGORY_ID = ROUTE_CATEGORY + PARAMS_POSTFIX_ID;
48 1 export const ROUTE_KEYWORD_ID = ROUTE_KEYWORD + PARAMS_POSTFIX_ID;
49
50
51
52 export const ROUTE_TO_MODEL = {
53 [ROUTE_ACTION]: MODEL_ACTION,
54 [ROUTE_AGENT]: MODEL_AGENT,
55 [ROUTE_CONTEXT]: MODEL_CONTEXT,
56 [ROUTE_DOC]: MODEL_DOC,
57 [ROUTE_CATEGORY]: MODEL_CATEGORY,
58 [ROUTE_KEYWORD]: MODEL_KEYWORD,
59 [ROUTE_SAYING]: MODEL_SAYING,
60 [ROUTE_SETTINGS]: MODEL_SETTINGS,
61 [ROUTE_WEBHOOK]: MODEL_WEBHOOK,
62 [ROUTE_POST_FORMAT]: MODEL_POST_FORMAT
63 };
64 export const MODEL_TO_ROUTE = _.invert(ROUTE_TO_MODEL);
65
66 //CONFIG
67
68

util/constants.js

100%
102
102
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 Object.defineProperty(exports, "__esModule", {
5 value: true
6 });
7 exports.MODEL_TO_ROUTE = exports.ROUTE_TO_MODEL = exports.ROUTE_KEYWORD_ID = exports.PARAM_CATEGORY_ID = exports.PARAM_AGENT_ID = exports.PARAM_ACTION_ID = exports.PARAM_DIRECTION = exports.PARAM_LIMIT = exports.PARAM_SKIP = exports.PARAM_NAME = exports.PARAM_VALUE = exports.PARAM_FIELD = exports.PARAMS_POSTFIX_ID = exports.ROUTE_WEBHOOK = exports.ROUTE_SETTINGS = exports.ROUTE_SAYING = exports.ROUTE_KEYWORD = exports.ROUTE_POST_FORMAT = exports.ROUTE_CATEGORY = exports.ROUTE_DOC = exports.ROUTE_CONTEXT = exports.ROUTE_AGENT = exports.ROUTE_ACTION = exports.MODEL_WEBHOOK = exports.MODEL_SETTINGS = exports.MODEL_SAYING = exports.MODEL_POST_FORMAT = exports.MODEL_KEYWORD = exports.MODEL_DOC = exports.MODEL_CATEGORY = exports.MODEL_CONTEXT = exports.MODEL_AGENT = exports.MODEL_ACTION = exports.ERROR_FIELD_NOT_FOUND = exports.ERROR_VALIDATION = exports.ERROR_NOT_FOUND = exports.DEBUG_LEVEL_ERROR = exports.DEBUG_LEVEL_DEBUG = exports.DEBUG_LEVEL_INFO = void 0;
8
9 /*$lab:coverage:on$*/
10 1 var 1
11 /*$lab:coverage:off$*/ 1
12 _lodash = _interopRequireDefault(require("lodash")) 1
13 /*$lab:coverage:on$*/ 1
14 ; 1
15
16 /*$lab:coverage:off$*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18 /*$lab:coverage:on$*/
19 //DEBUG 2
20 1 const DEBUG_LEVEL_INFO = 'info'; 3
21
22 /*$lab:coverage:off$*/
23 exports.DEBUG_LEVEL_INFO = DEBUG_LEVEL_INFO;
24
25 /*$lab:coverage:on$*/
26 1 const DEBUG_LEVEL_DEBUG = 'debug'; 4
27
28 /*$lab:coverage:off$*/
29 exports.DEBUG_LEVEL_DEBUG = DEBUG_LEVEL_DEBUG;
30
31 /*$lab:coverage:on$*/
32 1 const DEBUG_LEVEL_ERROR = 'error'; //ERRORS 7
33
34 /*$lab:coverage:off$*/
35 exports.DEBUG_LEVEL_ERROR = DEBUG_LEVEL_ERROR;
36
37 /*$lab:coverage:on$*/
38 1 const ERROR_NOT_FOUND = 'not found'; 8
39
40 /*$lab:coverage:off$*/
41 exports.ERROR_NOT_FOUND = ERROR_NOT_FOUND;
42
43 /*$lab:coverage:on$*/
44 1 const ERROR_VALIDATION = 'Validation failed. See .errors on this Error or the Nohm model instance for details.'; 9
45
46 /*$lab:coverage:off$*/
47 exports.ERROR_VALIDATION = ERROR_VALIDATION;
48
49 /*$lab:coverage:on$*/
50 1 const ERROR_FIELD_NOT_FOUND = 'Field not found'; //MODELS 12
51
52 /*$lab:coverage:off$*/
53 exports.ERROR_FIELD_NOT_FOUND = ERROR_FIELD_NOT_FOUND;
54
55 /*$lab:coverage:on$*/
56 1 const MODEL_ACTION = 'Action'; 13
57
58 /*$lab:coverage:off$*/
59 exports.MODEL_ACTION = MODEL_ACTION;
60
61 /*$lab:coverage:on$*/
62 1 const MODEL_AGENT = 'Agent'; 14
63
64 /*$lab:coverage:off$*/
65 exports.MODEL_AGENT = MODEL_AGENT;
66
67 /*$lab:coverage:on$*/
68 1 const MODEL_CONTEXT = 'Context'; 15
69
70 /*$lab:coverage:off$*/
71 exports.MODEL_CONTEXT = MODEL_CONTEXT;
72
73 /*$lab:coverage:on$*/
74 1 const MODEL_CATEGORY = 'Category'; 16
75
76 /*$lab:coverage:off$*/
77 exports.MODEL_CATEGORY = MODEL_CATEGORY;
78
79 /*$lab:coverage:on$*/
80 1 const MODEL_DOC = 'Doc'; 17
81
82 /*$lab:coverage:off$*/
83 exports.MODEL_DOC = MODEL_DOC;
84
85 /*$lab:coverage:on$*/
86 1 const MODEL_KEYWORD = 'Keyword'; 18
87
88 /*$lab:coverage:off$*/
89 exports.MODEL_KEYWORD = MODEL_KEYWORD;
90
91 /*$lab:coverage:on$*/
92 1 const MODEL_POST_FORMAT = 'PostFormat'; 19
93
94 /*$lab:coverage:off$*/
95 exports.MODEL_POST_FORMAT = MODEL_POST_FORMAT;
96
97 /*$lab:coverage:on$*/
98 1 const MODEL_SAYING = 'Saying'; 20
99
100 /*$lab:coverage:off$*/
101 exports.MODEL_SAYING = MODEL_SAYING;
102
103 /*$lab:coverage:on$*/
104 1 const MODEL_SETTINGS = 'Settings'; 21
105
106 /*$lab:coverage:off$*/
107 exports.MODEL_SETTINGS = MODEL_SETTINGS;
108
109 /*$lab:coverage:on$*/
110 1 const MODEL_WEBHOOK = 'Webhook'; //ROUTES 24
111
112 /*$lab:coverage:off$*/
113 exports.MODEL_WEBHOOK = MODEL_WEBHOOK;
114
115 /*$lab:coverage:on$*/
116 1 const ROUTE_ACTION = 'action'; 25
117
118 /*$lab:coverage:off$*/
119 exports.ROUTE_ACTION = ROUTE_ACTION;
120
121 /*$lab:coverage:on$*/
122 1 const ROUTE_AGENT = 'agent'; 26
123
124 /*$lab:coverage:off$*/
125 exports.ROUTE_AGENT = ROUTE_AGENT;
126
127 /*$lab:coverage:on$*/
128 1 const ROUTE_CONTEXT = 'context'; 27
129
130 /*$lab:coverage:off$*/
131 exports.ROUTE_CONTEXT = ROUTE_CONTEXT;
132
133 /*$lab:coverage:on$*/
134 1 const ROUTE_DOC = 'doc'; 28
135
136 /*$lab:coverage:off$*/
137 exports.ROUTE_DOC = ROUTE_DOC;
138
139 /*$lab:coverage:on$*/
140 1 const ROUTE_CATEGORY = 'category'; 29
141
142 /*$lab:coverage:off$*/
143 exports.ROUTE_CATEGORY = ROUTE_CATEGORY;
144
145 /*$lab:coverage:on$*/
146 1 const ROUTE_POST_FORMAT = 'postFormat'; 30
147
148 /*$lab:coverage:off$*/
149 exports.ROUTE_POST_FORMAT = ROUTE_POST_FORMAT;
150
151 /*$lab:coverage:on$*/
152 1 const ROUTE_KEYWORD = 'keyword'; 31
153
154 /*$lab:coverage:off$*/
155 exports.ROUTE_KEYWORD = ROUTE_KEYWORD;
156
157 /*$lab:coverage:on$*/
158 1 const ROUTE_SAYING = 'saying'; 32
159
160 /*$lab:coverage:off$*/
161 exports.ROUTE_SAYING = ROUTE_SAYING;
162
163 /*$lab:coverage:on$*/
164 1 const ROUTE_SETTINGS = 'settings'; 33
165
166 /*$lab:coverage:off$*/
167 exports.ROUTE_SETTINGS = ROUTE_SETTINGS;
168
169 /*$lab:coverage:on$*/
170 1 const ROUTE_WEBHOOK = 'webhook'; //PARAMS ID 36
171
172 /*$lab:coverage:off$*/
173 exports.ROUTE_WEBHOOK = ROUTE_WEBHOOK;
174
175 /*$lab:coverage:on$*/
176 1 const PARAMS_POSTFIX_ID = 'Id'; 37
177
178 /*$lab:coverage:off$*/
179 exports.PARAMS_POSTFIX_ID = PARAMS_POSTFIX_ID;
180
181 /*$lab:coverage:on$*/
182 1 const PARAM_FIELD = 'field'; 38
183
184 /*$lab:coverage:off$*/
185 exports.PARAM_FIELD = PARAM_FIELD;
186
187 /*$lab:coverage:on$*/
188 1 const PARAM_VALUE = 'value'; 39
189
190 /*$lab:coverage:off$*/
191 exports.PARAM_VALUE = PARAM_VALUE;
192
193 /*$lab:coverage:on$*/
194 1 const PARAM_NAME = 'name'; 40
195
196 /*$lab:coverage:off$*/
197 exports.PARAM_NAME = PARAM_NAME;
198
199 /*$lab:coverage:on$*/
200 1 const PARAM_SKIP = 'skip'; 41
201
202 /*$lab:coverage:off$*/
203 exports.PARAM_SKIP = PARAM_SKIP;
204
205 /*$lab:coverage:on$*/
206 1 const PARAM_LIMIT = 'limit'; 42
207
208 /*$lab:coverage:off$*/
209 exports.PARAM_LIMIT = PARAM_LIMIT;
210
211 /*$lab:coverage:on$*/
212 1 const PARAM_DIRECTION = 'direction'; 43
213
214 /*$lab:coverage:off$*/
215 exports.PARAM_DIRECTION = PARAM_DIRECTION;
216
217 /*$lab:coverage:on$*/
218 1 const PARAM_ACTION_ID = ROUTE_ACTION + PARAMS_POSTFIX_ID; 45
219
220 /*$lab:coverage:off$*/
221 exports.PARAM_ACTION_ID = PARAM_ACTION_ID;
222
223 /*$lab:coverage:on$*/
224 1 const PARAM_AGENT_ID = ROUTE_AGENT + PARAMS_POSTFIX_ID; 46
225
226 /*$lab:coverage:off$*/
227 exports.PARAM_AGENT_ID = PARAM_AGENT_ID;
228
229 /*$lab:coverage:on$*/
230 1 const PARAM_CATEGORY_ID = ROUTE_CATEGORY + PARAMS_POSTFIX_ID; 47
231
232 /*$lab:coverage:off$*/
233 exports.PARAM_CATEGORY_ID = PARAM_CATEGORY_ID;
234
235 /*$lab:coverage:on$*/
236 1 const ROUTE_KEYWORD_ID = ROUTE_KEYWORD + PARAMS_POSTFIX_ID; 48
237
238 /*$lab:coverage:off$*/
239 exports.ROUTE_KEYWORD_ID = ROUTE_KEYWORD_ID;
240
241 /*$lab:coverage:on$*/
242 1 const ROUTE_TO_MODEL = { 52
243 [ROUTE_ACTION]: MODEL_ACTION, 52
244 [ROUTE_AGENT]: MODEL_AGENT, 52
245 [ROUTE_CONTEXT]: MODEL_CONTEXT, 52
246 [ROUTE_DOC]: MODEL_DOC, 52
247 [ROUTE_CATEGORY]: MODEL_CATEGORY, 52
248 [ROUTE_KEYWORD]: MODEL_KEYWORD, 52
249 [ROUTE_SAYING]: MODEL_SAYING, 52
250 [ROUTE_SETTINGS]: MODEL_SETTINGS, 52
251 [ROUTE_WEBHOOK]: MODEL_WEBHOOK, 52
252 [ROUTE_POST_FORMAT]: MODEL_POST_FORMAT 62
253 }; 52
254
255 /*$lab:coverage:off$*/
256 exports.ROUTE_TO_MODEL = ROUTE_TO_MODEL;
257
258 /*$lab:coverage:on$*/
259 1 const MODEL_TO_ROUTE = 64
260 /*$lab:coverage:off$*/ 64
261 _lodash 64
262 /*$lab:coverage:on$*/ 64
263 . 64
264 /*$lab:coverage:off$*/ 64
265 default 64
266 /*$lab:coverage:on$*/ 64
267 .invert(ROUTE_TO_MODEL); //CONFIG 66
268
269
270 /*$lab:coverage:off$*/
271 exports.MODEL_TO_ROUTE = MODEL_TO_ROUTE;
272
273 /*$lab:coverage:on$*/
274

util/logger.js (transformed to util/logger.js)

%
Line Lint Hits Source
1 import Package from '../package.json';
2 import * as Constants from './constants';
3
4 module.exports = ({ name }) => {
5
6 const Debug = require('debug');
7 const baseScope = `${Package.name}:${name}`;
8 const scope = {
9 info: `${baseScope}:${Constants.DEBUG_LEVEL_INFO}`,
10 debug: `${baseScope}:${Constants.DEBUG_LEVEL_DEBUG}`,
11 error: `${baseScope}:${Constants.DEBUG_LEVEL_ERROR}`
12 };
13 8 const info = Debug(scope.info);
14 8 const debug = Debug(scope.debug);
15 8 const error = Debug(scope.error);
16 return { info, debug, error };
17 };
18

util/logger.js

100%
32
32
0
Line Lint Hits Source Original line
1 /*$lab:coverage:off$*/
2 "use strict";
3
4 /*$lab:coverage:on$*/
5 1 var 1
6 /*$lab:coverage:off$*/ 1
7 _package = _interopRequireDefault(require("../package.json")) 1
8 /*$lab:coverage:on$*/ 1
9 ; 1
10
11 1 var 2
12 /*$lab:coverage:off$*/ 2
13 Constants = _interopRequireWildcard(require("./constants")) 2
14 /*$lab:coverage:on$*/ 2
15 ; 2
16
17 /*$lab:coverage:off$*/ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
18
19 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21 /*$lab:coverage:on$*/
22 1 module.exports = ({ 4
23 name 4
24 }) => { 4
25 const Debug = require('debug'); 6
26
27 8 const baseScope = `${ 7
28 /*$lab:coverage:off$*/ 7
29 _package 7
30 /*$lab:coverage:on$*/ 7
31 . 7
32 /*$lab:coverage:off$*/ 7
33 default 7
34 /*$lab:coverage:on$*/ 7
35 .name}:${name}`; 7
36 8 const scope = { 8
37 info: `${baseScope}:${Constants.DEBUG_LEVEL_INFO}`, 8
38 debug: `${baseScope}:${Constants.DEBUG_LEVEL_DEBUG}`, 8
39 error: `${baseScope}:${Constants.DEBUG_LEVEL_ERROR}` 11
40 }; 8
41 8 const info = Debug(scope.info); 13
42 8 const debug = Debug(scope.debug); 14
43 8 const error = Debug(scope.error); 15
44 8 return { 16
45 info, 16
46 debug, 16
47 error 16
48 }; 16
49 }; 4
50

Linting Report

Nothing to show here, linting is disabled.